我有一个超级简单的表单,我试图用它来一次更新多条记录。我在 Rails 3 上。我经历了所有的 railscasts 等,此时我正在拔头发。我正在使用设计,并且有一个联系人控制器。用户有_many :contacts 和accepts_nested_attributes_for :contacts。表格如下所示:
<%= form_for @user, :url => '/updateusercontacts' do |i| %>
<%= i.fields_for :contacts do |f| %>
<%= f.label :first_name %>
<%= f.text_field :firstname %>
<%= f.label :last_name %>
<%= f.text_field :lastname %>
<%= f.label :phone_number %>
<%= f.text_field :phonenumber %>
<%= f.label :user_id %>
<%= f.text_field :id %>
<p>
<% end %>
表单显示正确,但在提交时我得到“找不到没有 ID 的联系人”。控制器看起来像:
def updatecontacts
@contacts = Contact.find(params[:id])
@contacts.each do |contact|
contact.update_attributes(params[:id])
end
render '/home'
end
参数似乎正确,并且 id 似乎存在且正确,但我无法保存工作!我确定我在这里遗漏了一些明显的东西。