2012-10-31 66 views
6

我從我的教練那裏得到了一個任務。我想用一種形式編輯兩個模型。 例如,我們有兩個實體的學生和地址。在新學生部分,我想添加學生的詳細信息和地址。我如何通過紅寶石腳手架實現這一目標?如何以一種形式編輯多個模型?

+0

我還需要回答這個。 – Okky

回答

0

我們可以編輯多個模型這樣的..

學生

/edit.rhtml

編輯學生

<%= 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

我不確定腳手架,但預期的行爲可以通過使用form_tag而不是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 %> 

的PARAMS然後將很好地在哈希分組像

{'student' => {'name' => , 'age' => }, 'address' => {'street' => , 'city' => . . .}} 

,你可以分析同時更新模型

相關問題