У меня есть две модели- Семья и Person: (Использование Mongoid и Rails 3.2.13)Rails обновление записей через вложенные модели форм и удалять ссылки
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>
Но только обновляет семейство атрибутов и лиц, attrubutes остается такой же.
Как обновить атрибуты Person?
Также хочу добавить кнопку delete
для каждого человека, который будет удалить соответствующее лицо. Как это достичь?
Вы используете params.permit где-то в контроллере? – tihom
Нет. Что это? – mrudult
используется для фильтрации параметров, но если вы его не используете, это не является причиной. – tihom