Ruby on rails Rails通过嵌套模型表单更新记录并删除链接
我有两个模型-家庭和个人:(使用Mongoid和Rails 3.2.13) family.rbRuby on rails Rails通过嵌套模型表单更新记录并删除链接,ruby-on-rails,forms,nested-forms,Ruby On Rails,Forms,Nested Forms,我有两个模型-家庭和个人:(使用Mongoid和Rails 3.2.13) family.rb attr_accessible :location has_many :persons accepts_nested_attributes_for :persons attr_accessible :name belongs_to :family person.rb attr_accessible :location has_many :persons accepts_nested
attr_accessible :location
has_many :persons
accepts_nested_attributes_for :persons
attr_accessible :name
belongs_to :family
person.rb
attr_accessible :location
has_many :persons
accepts_nested_attributes_for :persons
attr_accessible :name
belongs_to :family
在家庭控制器中我有:
def edit
@family=Family.find(params[:id])
end
def update
@family=Family.find(params[:id])
@family.update_attributes(params[:family])
end
在族控制器的编辑.html.erb中:
<div class="container">
<%= simple_form_for @family do |f| %>
<%= f.error_messages %>
<%= f.input :location %>
<%= f.simple_fields_for :persons do |p| %>
<%= p.input :name %>
<%end%>
<%= f.submit "Submit" %>
<% end %>
</div>
但是它只更新了家庭属性,并且人员属性保持不变
如何更新该人员的属性
另外,我想为每个人添加一个删除按钮,该按钮将删除相应的人。如何实现这一点?尝试在
attr\u accessible
家族中添加persons\u属性。rb
是否在控制器中的某个位置使用参数。permit?它用于过滤哪些属性参数是允许的,但如果您不使用它,那么这不是原因。我有一个接受\u嵌套的\u属性\u for:persons
那么我为什么需要这个?是的,这很有魅力。为每个人添加一个单独的delete
按钮怎么样?见最后一行的问题。为每个人添加一个简单的删除按钮可以吗?B/c接受:persons的嵌套属性
只为嵌套模型生成额外的参数。我认为,删除
按钮将位于persons\u属性
内。我找到了一个解决方案。但这使我没有为复选框找到输入。