我有一個has_many關聯的多選框。 】這個params進來爲:授權一批身份證與權威寶石
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,通過它們循環,並單獨授權每一個。有沒有更簡單的方法來管理has_many授權,最好是與權威寶石?
您好Logan,我是Pundit的維護人員之一,並希望瞭解您的使用案例。它只是簡單授權集合中的所有記錄,還是以某種方式涉及額外的檢查?您的輸入可以讓您的問題在未來的版本中得到很好的解決,並且可以幫助其他人。如果您可以發表評論[這裏](https://github.com/elabs/pundit/issues/60),我會很高興。提前致謝! –
保存所有人閱讀Github上的整個問題線程。這個問題是封閉的,基本上說可以通過擴展權威人士或改變你對此的看法來處理。 –