Hug*_*ton 3 clearance strong-parameters ruby-on-rails-4
我是一个相对较新手,因此非常感谢您的协助。
我正在使用带有Clearance gem的Rails 4.2进行身份验证。我希望有人能描述覆盖控制器以在sign_up表单上包含自定义属性的最佳实践。
我已经阅读了很多建议,其中包含各种建议,其中许多来自以前版本的不使用strong_parameters的rails。
如果有人可以简要介绍我需要超越的方法(user_params / user_from_params / etc),我将不胜感激。我可以通过定义只包含@user = User.new的新“ new”方法和使用.permit的新“ user_params”方法来使事情正常运行,但是我担心在user_from_params中绕过的默认代码。
任何有关最佳实践的建议都很棒!
谢谢
首先,扩展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
Run Code Online (Sandbox Code Playgroud)
然后,更新您的路由文件以使用新的控制器:
# config/routes.rb
resources :users, controller: :users, only: :create
Run Code Online (Sandbox Code Playgroud)