ネストされたモデルのupdate_attributesを実行しようとしていますが、一括割り当てエラーが発生し続けます。これが私のモデルです:
class Lineup < ActiveRecord::Base
belongs_to :user
has_many :piece_lineups
has_many :pieces, through: :piece_lineups
accepts_nested_attributes_for :piece_lineups
end
class Piece < ActiveRecord::Base
attr_accessible :cost, :description, :name, :category
has_many :piece_lineups
has_many :lineups, through: :piece_lineups
end
class PieceLineup < ActiveRecord::Base
attr_accessible :piece
belongs_to :piece
belongs_to :lineup
end
ちなみにユーザーhas_oneのラインナップ。そこで、accepts_nested_attributes_forをラインナップモデルに追加することで機能すると思いましたが、機能しません。これが私のフォームです:
- @lineup.piece_lineups.build(:piece => piece)
= form_for(@lineup) do |f|
= f.fields_for :piece_lineups do |piece_lineup|
= piece_lineup.hidden_field(:piece_id, :value => piece.id)
= f.submit
と私のラインナップコントローラーのアクション:
def update
@lineup = current_user.lineup
@lineup.update_attributes(params[:lineup])
そして最後に、エラー:
保護された属性を一括割り当てできません:piece_lineups_attributes
ここで何が欠けていますか?ありがとう!