Ho un modulo di barre che esegue il rendering parziale con l'elenco dei campi per creare un nuovo utente. Quei campi che sto usando anche per rendere il modulo di modifica. Mi chiedo se sia possibile non mostrare un campo specifico (cioè il reparto) sul modulo di modifica, perché non voglio dare agli utenti l'opzione di cambiare reparto?Non visualizzare il campo del modulo se l'azione è stata modificata
risposta
Se params [: azione] è modificare quindi non dimostrano che campo potrebbe essere utilizzando visualizzazione nessuno
Può essere fatto in molti modi.
Io di solito faccio come
if [email protected]_record?
# department field.
end
Non funziona, anche se non ottengo la parte new_record? dovrei hai un metodo nel mio userController per new_record? o è un metodo di rotaie incorporato? –
integrato, '@ utente' è un oggetto AR – Nithin
Basta mettere a vostra forma:
<%= f.text_field :department unless @user.new_record? %>
È possibile utilizzare persisteva? Metodo per garantire che non sia un nuovo record che verrà inserito o che utilizzi anche new_record? Metodo che restituirà true se il record non è persistente nel database "Nuovo record". ex ::
<%= f.text_field :department if @user.persisted? %>
or
<%= f.text_field :department unless @user.new_record? %>
un altro modo è quello di controllare circa l'azione in sé, che dà anche controllare sul controller, se si esegue il rendering parziale dal punto di vista diverso e si vuole limitare a controllo specifici, questi sono memorizzati in ::
params[:controller] -->> contains the name of the controller ex. UserController that you just hit on
params[:action] -->> contains the action name ex. new or edit
- 1. Controllare se la riga è stata modificata in gridview
- 2. L'API Control.Monad.State è stata modificata di recente?
- 3. come determinare se la pagina web è stata modificata
- 4. C# prevenire Collection è stata modificata eccezione
- 5. Arresta ActiveRecord salvando una colonna serializzata anche se non è stata modificata
- 6. Come rilevare se una proprietà del sistema Java è stata modificata?
- 7. Django: Come escludere il campo modulo se l'utente è personale?
- 8. L'associazione file Mac OS X funziona, ma l'icona del file non è stata modificata
- 9. La struttura del framework di entità è stata modificata; operazione di enumerazione non può essere eseguita
- 10. Yii all'aggiornamento, rileva se una proprietà AR specifica è stata modificata su beforeSave()
- 11. Bootstrap: Rimuovi il bordo del campo modulo
- 12. Cosa, sulla terra, è stata modificata la proprietà?
- 13. La sessione è stata invalidata perché l'utente ha cambiato la password -> non è stata modificata la password
- 14. Fill Acrobat data Modulo campo con la data odierna solo se il campo è vuoto
- 15. come verificare se il campo del file è vuoto?
- 16. Verifica se il modulo AngularJS è bootstrap
- 17. Rails nasconde il campo modulo basato sull'azione
- 18. Perché la proprietà di testo di UITextField è stata modificata in un'opzione in Swift 2?
- 19. La raccolta è stata modificata; l'operazione di enumerazione non può essere eseguita in VS WinForms Designer
- 20. Ng-init se la matrice non è stata ancora creata
- 21. Determinare se un elemento è un campo modulo
- 22. ESLint dice che la matrice non è mai stata modificata anche se gli elementi sono stati inseriti nell'array
- 23. Mantieni costruttore se il campo è annotato
- 24. Rimuovi riga se il campo è duplicato
- 25. Controllare se il campo errore
- 26. NHibernate: la raccolta è stata modificata; operazione di enumerazione non può essere eseguita
- 27. Controlla se il modulo è aperto
- 28. Determina se il modulo Magento è abilitato
- 29. Trigger convalida del modulo jQuery solo se il modulo è già stato inviato?
- 30. "La variabile 'xxx' non è mai stata modificata, si consideri la modifica in 'let' costante" ERRORE
ho provato, ma il campo non è poi mostrato in entrambe le azioni, nuovo e modificare :( –
ma in caso di nuova .. azione sarà nuovo e non modificare quindi campo dovrebbe essere mostrato. usa if else condition mostra field in caso di nuova azione else hide –