Ruby on rails Rails通过嵌套模型表单更新记录并删除链接

Ruby 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

我有两个模型-家庭个人:(使用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_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属性
内。我找到了一个解决方案。但这使我没有为复选框找到输入。