我有一个父模型,它有一个具有嵌套属性的子模型。我有一个更新父母和孩子的表格。
这是我的模型:
class Parent < ActiveRecord::Base
has_one :child
accepts_nested_attributes_for :child
end
class Child < ActiveRecord::Base
belongs_to :parent
end
表单视图:
<%= form_for @parent, do |f| %>
<%= f.text_field :parent_name %>
<%= f.fields_for @parent.child do |c| %>
<%= c.text_field :child_name %>
<% end %>
<%= f.submit "Save" %>
<% end %>
父控制器:
class ParentsController < ApplicationController
def update
@parent = Parent.find(params[:id])
@parent.update(params.require(:parent).permit(:parent_name, child_attributes: [:child_name]))
redirect_to @parent
end
end
当我保存表单时,父母会更新,但孩子不会。我究竟做错了什么?