ruby - 如何在 Rails 强参数中添加默认数据?

标签 ruby ruby-on-rails-4 sorcery

假设我想在管理员中创建用户时为用户生成和设置默认密码。

我想做这样的事情,

 def user_params
    params.require(:user).permit(:first_name, :last_name, :email, :password=> @default_generated_password, :password_confirmation => @default_generated_password)
end

我正在使用魔法进行用户身份验证。 我觉得这是完全错误的方式,但我该怎么做呢?

最佳答案

您想使用reverse_merge(出现在rails 5.1)或with_defaults(别名出现在rails 5.2)

def user_params
  params
      .require(:user)
      .permit(:first_name, :last_name, :email, :password, :password_confirmation)
      .with_defaults(password: @default_generated_password, password_confirmation: @default_generated_password)
end

关于ruby - 如何在 Rails 强参数中添加默认数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582766/

相关文章:

ruby - YAML::Dumper 不引用标量字符串 "-"

ruby - 为要在两个应用程序之间共享的模型创建一个 Gem

node.js - 无法创建到 Node.js socket.io 服务器的跨域 websocket 连接

ruby-on-rails - 如何使用 Sorcery 测试 FactoryGirl 生成的用户?

android - 通过 RubyCAS 使用单个访问 token 访问 Rails API

ruby - 我的 rake 任务似乎在范围内没有其他对象?

ruby-on-rails - 外键 (class_id) 未填充在 belongs_to 关联中

ruby-on-rails - Rails 从数据库中选择

ruby-on-rails - rspec-given 错误 `Then` 在示例中不可用(例如 `it` block )

ruby-on-rails - Rspec - 访问魔法方法/变量