Ho ricevuto un compito dal mio allenatore. Voglio modificare due modelli in un unico modulo. Ad esempio, abbiamo due entità studente e indirizzo. Nella parte nuova dello studente voglio aggiungere sia i dettagli dello studente che l'indirizzo. Come posso ottenerlo attraverso l'impalcatura in rubino su rotaie?Come modificare più modelli in un unico modulo?
6
A
risposta
7
È possibile utilizzare accepts_nested_attributes_for e fields_for per costruire un modulo per creare due modello allo stesso tempo, così puoi anche modificarli. Questo tipo di modulo chiamato nested form
.
Ecco un riferimento per voi su Nested form,.
0
Siamo in grado di modificare i modelli multipli come questo ..
a studenti/edit.rhtml
Edit Student
<%= error_messages_for :student %>
<%= start_form_tag :action => 'update', :id => params[:id] %>
<p>
Student Name:
<%= text_field :student, :name %>
</p>
<h2>Address</h2>
<% for @address in @student.addresses %>
<%= error_messages_for :address %>
<% fields_for "address[]" do |f| %>
<p><%= f.text_field :name %></p>
<% end %>
<% end %>
<p><%= submit_tag 'Update' %></p>
<%= end_form_tag %>
0
Non sono sicuro del ponteggio, ma il comportamento previsto può essere ottenuto utilizzando form_tag anziché form_for.
<%= form_tag :url => , :html => {:id=> , :method => , :class => ""} do %>
<% text_field_tag <id>, <default_value>, :name=>"student[name]" %>
<% text_field_tag <id>, <default_value>, :name=>"student[age]" %>
<% text_field_tag <id>, <default_value>, :name=>"address[street]" %>
<% text_field_tag <id>, <default_value>, :name=>"address[city]" %>
<% text_field_tag <id>, <default_value>, :name=>"address[state]" %>
<% text_field_tag <id>, <default_value>, :name=>"address[country]" %>
<%= submit_tag 'save' %>
<% end %>
i params saranno quindi ben essere raggruppati in un hash come
{'student' => {'name' => , 'age' => }, 'address' => {'street' => , 'city' => . . .}}
cui è possibile analizzare aggiornare entrambi i modelli
Problemi correlati
- 1. Come gestire più modelli in un unico modulo?
- 2. Più gruppi di pulsanti di opzione in un unico modulo
- 3. Alter più colonne in un unico prospetto
- 4. Come raggruppare più modelli sotto un unico nome in classi Single Table Inheritance
- 5. più funzioni in un unico file .rd
- 6. combinare più dizionari in un unico dizionario
- 7. Convogliare più comandi in un unico comando
- 8. come gestire più modelli in una forma rotaie
- 9. Come posso modificare più record in un modulo Ruby on Rails?
- 10. Più progetti svn in un unico repository git?
- 11. Django passa più modelli a un modello
- 12. Come eseguire più operazioni di missaggio in un unico comando
- 13. Come combinare più PNG in un unico grande file PNG?
- 14. Come modificare un campo serializzato Rails in un modulo?
- 15. Assegnare un valore a più oggetti in un unico prospetto
- 16. Python oggetto importazione che ha origine in un unico modulo da un modulo diverso in un terzo modulo
- 17. Come modificare una variabile del modulo da un altro modulo?
- 18. Recupera più informazioni con un unico numero?
- 19. In Linux, zip più directory in un unico file zip
- 20. Come modificare le opzioni disabilitate in un modulo
- 21. Come posso modificare oggetti figlio in un modulo MVC4?
- 22. Come modificare gli hash serializzati di Rails in un modulo?
- 23. Django - come estendere i modelli di terze parti senza modificare
- 24. Gradle può lanciare più progetti in un unico contenitore?
- 25. TortoiseHg e più filiali in un unico deposito
- 26. Unisci più file Coffeescript in un unico file? (Sottodirectory multiple)
- 27. sqlalchemy unico su più colonne
- 28. Stampa di più immagini jpeg in un unico display
- 29. boost :: iostream zlib comprime più file in un unico archivio
- 30. puoi memorizzare più metodi in un unico selettore?
ho anche bisogno di risposta per questo. – Okky