1

は、私は以下の私が現在行っている拡張クリアランス宝石コントローラ

他のいくつかのフォーム要素を通過するクリアランスコントローラを拡張しようとしていますが、動作して表示されず、ActiveModel::ForbiddenAttributesError

class UsersController < Clearance::UsersController 
    private 

    def user_from_params 
    params.require(:user).permit(:first_name, :last_name, :mobile, :email, :password, :password_confirmation) 
    end 

end 
+0

'create'アクションと' update'アクションを扱うコントローラコードを共有できますか? –

+0

https://github.com/thoughtbot/clearance/blob/master/app/controllers/clearance/users_controller.rb –

+0

はuser_paramsに更新されているようです –

答えて

2
を返します

createアクションは、明示的にClearance user_paramsを呼び出して、強いパラメータを検証するuser_from_paramsを呼び出します。派生クラスで定義されたuser_from_paramsは呼び出されないため、例外が発生します。

派生クラスの強いパラメータメソッドには、user_paramsという名前を付けることができます。派生したメソッドは、基本メソッドがprivateであるという事実にかかわらず、単純に基本クラスの同じ名前のメソッドをオーバーライドします。