クリアランスレベルを決定するために保護されているユーザーモデルのフィールドがあります。したがって、保護されたままにして、一括割り当てできないようにする必要があります。したがって、3.2では属性がデフォルトで保護されていますが、それが実際に私が望む動作です。
ただし、1つのコントローラーメソッドでは、たとえばユーザーの作成やユーザーの更新時に、マネージャーがこのフィールドを割り当てることができるようにしたいと思います。
特定のコントローラーアクションにその属性を割り当てるにはどうすればよいですか?
たとえば、私は自分のコントローラーを持っています:
# app/controllers/admin/users_controller.rb
def create
@user = User.new(params[:user])
# ...
end
今、私がすることはclearance
から除外することですがparams[:user]
、その行に到達する前でも、フィルターで除外されて発生し、例外が発生するようです(その行のdebugger
直前に配置してコメントアウトしようとしましたが、それでも例外が発生しました)。
呼び出し時に保護されていない場合、保護された属性はどこでキャッチされますUser#new
か?