gpt4 book ai didi

ruby-on-rails - Rails 和 Devise 的强大参数

转载 作者:行者123 更新时间:2023-12-03 05:53:56 26 4
gpt4 key购买 nike

我正在使用 devise 的 Rails 4.0 分支以及 ruby​​ 2.0.0p0 和 Rails 4.0.0.beta1。

这是一种我要检查我是否以正确的方式做事,或者是否还有其他事情我应该做的问题。我确信很多转向 Rails 4.0 的人都面临着同样的问题(在谷歌搜索类似的事情之后)。

我已阅读以下链接:

现在使用 devise 创建了一个用户模型,我使用上述要点创建了以下 Controller (并确保将其包含在我的路由文件中)。我的额外参数是名字和姓氏。

class Users::RegistrationsController < Devise::RegistrationsController
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password)
end
private :sign_up_params
private :account_update_params
end

还有什么我应该做的吗?这是从现在开始做事情的最佳方式(自从删除 attr_accessor 以来)。我的表格似乎工作正常(新的和更新的)。要点说要使用“resource_params”,但这总是在我的服务器日志中给出“未经允许的参数”错误。

最佳答案

感谢 Devise Rails4 分支的最新更新,它实际上不需要插入“resource_params”。

我创建了一个全新的 Rails4 应用程序,并遵循基本的 Devise 安装步骤,并且我的应用程序运行正常,所以我认为您做得很好。

但是有一个修改后的要点,如果您需要,它可以为您提供一些有关允许参数的额外详细信息:

来源:https://gist.github.com/bluemont/e304e65e7e15d77d3cb9

# controllers/users/registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController

before_filter :configure_permitted_parameters

protected

# my custom fields are :name, :heard_how
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) do |u|
u.permit(:name, :heard_how,
:email, :password, :password_confirmation)
end
devise_parameter_sanitizer.for(:account_update) do |u|
u.permit(:name,
:email, :password, :password_confirmation, :current_password)
end
end
end

关于ruby-on-rails - Rails 和 Devise 的强大参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16379554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com