延长许可 gem 控制器
Extending Clearance gem controllers
我正在尝试扩展许可控制器以通过其他一些表单元素
我目前已经完成了以下操作,但似乎没有效果,并且正在返回 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
创建操作调用 user_from_params
,它显式调用许可 user_params
来验证强参数。在派生 class 中定义的 user_from_params
未被调用,因此出现异常。
您可以在派生的 class user_params
中命名强参数方法。然后,派生方法将简单地覆盖基 class 中的同名方法,而不管基方法是私有的这一事实。
我正在尝试扩展许可控制器以通过其他一些表单元素
我目前已经完成了以下操作,但似乎没有效果,并且正在返回 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
创建操作调用 user_from_params
,它显式调用许可 user_params
来验证强参数。在派生 class 中定义的 user_from_params
未被调用,因此出现异常。
您可以在派生的 class user_params
中命名强参数方法。然后,派生方法将简单地覆盖基 class 中的同名方法,而不管基方法是私有的这一事实。