У меня проблема с получением update_attributes для обновления вложенных моделей в моей форме.У меня нет ошибок, но вложенные атрибуты не сохраняются.Вот соответствующий код:
Модель пользователя:
class User < ActiveRecord::Base
has_many :orders
has_many :achievements
accepts_nested_attributes_for :achievements
Модель достижений:
class Achievement < ActiveRecord::Base
belongs_to :user
Редактировать форму пользователя:
<%= form_for @user, :html => { :multipart => true } do |f| %>
...
<%= f.fields_for :achievements do | a | %>
<%= a.label :title %>
<%= a.text_field :title %><br>
<% end %>
Метод редактирования:
def edit
@user = nil
if params[:id] != nil
@user = User.find(params[:id])
elsif
@user = current_user
else
redirect_to login_path
end
5.times { @user.achievements.build }
end
Метод обновления:
@user.update_attributes params[:user]
Но когда я проверяю массив @ user.achievements, он всегда пуст, даже когда язаполните формы.Кто-нибудь знает, что я делаю не так?