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

时间:2013-09-21 07:40:38

标签: ruby-on-rails forms nested-forms

我有两个模型 - 家庭 :(使用Mongoid和Rails 3.2.13)

family.rb

attr_accessible :location  
has_many :persons
accepts_nested_attributes_for :persons  

person.rb

attr_accessible :name
belongs_to :family  

FamiliesController 中我有:

  def edit
   @family=Family.find(params[:id])
  end

  def update
    @family=Family.find(params[:id])
    @family.update_attributes(params[:family])
  end  
家庭控制器 edit.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>  

但是只更新了家庭属性,并且人们仍然保持不变。

如何更新Person的属性?

另外,我想为每个人添加delete按钮,删除相应的人。如何实现?

1 个答案:

答案 0 :(得分:1)

尝试在persons_attributes#In attr_accessible

中添加family.rb