У меня есть следующая ситуация: user
имеет несколько assets
, и каждый asset
имеет одну запись asset_detail
.Обновление нескольких записей с использованием одной формы
Модели: действия
class User < ActiveRecord::Base
has_many :assets
end
class Asset < ActiveRecord::Base
has_one :asset_detail
belongs_to :user
accepts_nested_attributes_for :asset_detail,
:allow_destroy => false
attr_accessible # ...
end
class AssetDetail < ActiveRecord::Base
belongs_to :asset
attr_accessible # ...
end
Контроллер:
def edit
@user = current_user
@assets = Asset.all
end
def update
@user = current_user
@user.update_attributes(params["user"])
end
Вид:
= form_for @user, url: 'update action url' do |f|
= f.fields_for :assets do |ff|
= ff.text_field :title
= ff.fields_for :asset_detail do |fff|
= fff.text_field :value
Проблема в том, й на всех полях формы заполнены правильно, но я не могу их сохранить. Форма отправляется без каких-либо ошибок, но данные не обновляются.
Вы должны проверить возвращаемое значение '@ user.update_attributes (Params [«пользователь»])' ... – meagar
возвращает 'не true' – mbajur