has_many 関連付けの複数選択ボックスがあります。パラメータは次のようになります。
foo_ids: ["1", "2", "3"]
強力なパラメーターを使用して、私はこの属性を許可しません。なぜなら、私は自分で承認したいので、人々が好きなものをただ入れることができないからです。
def update
bar.foos = authorized_foos
bar.update(baz_params)
respond_with bar
end
private
def authorized_foos
foos = Foo.find(params[:baz][:foo_ids])
foos.each do |foo|
authorize foo, :manage?
end
end
このアプローチでは、すべての foo を見つけてループし、それぞれを個別に承認する必要があります。できれば Pundit gem を使用して、has_many 承認を管理する簡単な方法はありますか?