stores
のネストされたフォームcategories
があり、ストアモデルにattr_accessibleとしてリストされています。しかし、まだ、次のエラーを取得しておいてください。Rails 3.1 - 保護された属性を割り当てることはできません(attr_accessibleに追加しても)
WARNING: Can't mass-assign protected attributes: category_ids
私は店のモデルにattr_accessibleのすべてのバリエーションを試してみた:それらの
attr_accessible :categories
attr_accessible :category
attr_accessible :category_id
attr_accessible :category_ids
どれも動作しません!これらのモデルはどちらもhas_and_belongs_to_manyです(categories_storesという結合テーブルがあります)。
何かアドバイスをいただければ幸いです(私はこれ以上2日間壁に頭を向けています)。私は(かなり冗長であり、レールがちょうど上記の問題に付着した場合は必要ありません)一時的な修正を実装しました
UPDATE。私はActiveAdminためcreate
方法を上書きし、関連データを挿入するためにループすることにより、それを修正:
controller do
def update
@store = store.find(params[:id])
if @store.update_attributes(params[:store])
@store.categories.delete_all
params[:store][:category_ids].each do |category_id|
@store.categories << Category.find(category_id) unless category_id.blank?
end
redirect_to :action => :index
else
redirect_to :action => :edit, :notice => "Something f'ed up"
end
end
end
を私もモデルやまだ行くの両方にattr_accessibleを削除しようとしました! – Hopstream