モデル間に次の関係を持つアプリがあります。
クラス ContentPartner < ユーザー
has_many :events, dependent: :destroy
has_many :videos, through: :events, dependent: :destroy
クラスビデオ
belongs_to :event
クラス イベント
has_many :videos, dependent: :destroy
ネストされたリソースを使用せずに (これは望ましくありません)、または :event_id と :content_partner_id をビデオ attr_accessible ホワイトリスト?
このような私のコントローラーで:
def create
@event = Event.find(params[:video][:event_id])
@video = @event.videos.create(params[:video])
if @video.save
flash[:success] = "Video uploaded!"
redirect_to session[:return_to]
else
flash[:error] = "#{@video.errors.messages}"
render new_video_path
end
end
@videos フォームに hidden_field がない場合、「ID のないイベントが見つかりませんでした」というエラーが表示されます。
ただし、次の場合:
<%= f.hidden_field :event_id, value: @event.id %>
私のフォームでは、「保護された属性を一括割り当てできません: event_id」というエラーが表示されます。
ネストされたリソースを使用したり、大量割り当てのリスクを犠牲にしたりせずに、イベントに属している新しいビデオを作成する 3 つ目の方法はありますか?