我是一个相对新手,所以非常感谢任何帮助。
我正在使用 Rails 4.2,并使用 Clearance gem 进行身份验证。我希望有人可以描述覆盖控制器以在注册表单上包含自定义属性的最佳实践。
我读过很多不同的建议,其中许多来自不使用 Strong_parameters 的先前版本的 Rails。
如果有人可以提供我需要重写的方法的简要说明(user_params/user_from_params/等),我将不胜感激。我可以通过定义一个新的“新”方法来使事情正常运行,该方法仅包含 @user = User.new 和使用 .permit 的新“user_params”方法,但我担心我在 user_from_params 中绕过的默认代码。
任何有关最佳实践的建议都很棒!
Thanks
首先,延长Clearance::UsersController
并覆盖#user_params
允许新属性:
# app/controllers/users_controller.rb
class UsersController < Clearance::UsersController
private
def user_params
params[:user].permit(:email, :password, :your_custom_attribute)
end
end
然后,更新您的路由文件以使用新的控制器:
# config/routes.rb
resources :users, controller: :users, only: :create
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)