私はhas_many関連に対して複数の選択ボックスを持っています。 paramsのように来る:私は、人々はちょうど彼らがそれで欲しいものは何でも置くことができないので、それを自分自身を承認したいと思いますので、強いパラメータを使用してPundit gemでIDの配列を認証
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
このアプローチでは、すべてのfoosを見つけてループし、それぞれを個別に認可するようになります。できればPundit gemでhas_many権限を管理する簡単な方法はありますか?
こんにちはLogan、私はPunditのメンテナーの一人で、ユースケースについて学びたいと思っています。コレクション内のすべてのレコードを単に承認するのか、何らかの形で追加のチェックが必要なのでしょうか?あなたの意見は、あなたの質問を将来のリリースでうまく解決し、他の人にも役立つかもしれません。あなたがコメント[ここ](https://github.com/elabs/pundit/issues/60)を残すことができれば嬉しいです。前もって感謝します! –
誰もがGithubの問題スレッド全体を読むことを救うために。この問題は閉鎖されていますが、基本的にPunditを拡張したり、あなたがこれについてどうやって進むかを変えることで対応できると言っています。 –