我有2個模型用戶和地址。嵌套表格導軌
class User < ActiveRecord::Base
has_many :addresses
accepts_nested_attributes_for :addresses
end
class Address < ActiveRecord::Base
belongs_to :user
end
我控制器
def new
@user = User.new
@user.addresses << Address.new
@user.addresses << Address.new
end
def create
@user = User.new(params[:user])
if @user.save
#do something
else
render 'new'
end
end
而且我查看
<%= form_for @user do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for :addresses do |a| %>
<p> Home </p>
<%= a.text_field :state %>
<%= a.text_field :country%>
<%= a.text_field :street %>
<p> Work </p>
<%= a.text_field :state %>
<%= a.text_field :country%>
<%= a.text_field :street %>
<% end %>
<% end %>
<% end %>
我的問題是我得到的只是最後的狀態,國家,街道PARAMS輸入。
"addresses_attributes"=>{"0"=>{"street"=>"test", "state"=>"test",, "country"=>"test"},
"1"=>{"street"=>"", "state"=>"", "country"=>""}}
此外,如果有更好的方法來做到這一點,我將不勝感激任何建議。
你是什麼意思只是最後一個?你在這裏顯示的輸出清楚地表明你正在接收兩者。 addresses_attributes [0]和addresses_attributes [1] – Faisal 2012-03-27 10:19:19
是的,但我填寫了所有的字段,只有最後3個發送。 – lesce 2012-03-27 10:22:13
示例:前3個字段用'test0'填充,後3個用'test'填充。 – lesce 2012-03-27 10:23:06