【问题标题】:Instantiating Devise user models manually using contents of params hash使用参数哈希的内容手动实例化设计用户模型
【发布时间】:2012-10-17 09:50:47
【问题描述】:

我想弄清楚这一点正在失去理智:

有一个注册模块可以避开主设计注册控制器,我必须使用 User.new(...) 手动实例化设计生成的用户模型。我正在使用 form_tag 提交 User.new() 所需的所有必要参数。这是我的代码的截断版本:

def registration_three

  @user = User.new(:email => params[:email], :password => params[:password], :password_confirmation => params[:password_confirmation])
  @user.save

  @user = User.new(:email => 'patlopez@yahoo.com', :password => 'qwertyui', :password_confirmation => 'qwertyui')
  @user.save

end

第二个@user.save 有效,但第一个无效。根据标准输出中的打印语句,params[:email]、params[:password] 和 params[:password_confirmation] 肯定存在。

有人有什么想法吗?

编辑: 因此,我尝试将第二个 User.new(...) 中的所有单引号字符串更改为双引号字符串,例如存储在 params 哈希中的字符串...并且第二个实例化也失败了。所以我相当确定这个问题涉及双引号和单引号字符串。有人知道如何将双引号字符串转换为单引号字符串吗?提前致谢。

【问题讨论】:

    标签: ruby ruby-on-rails-3 devise


    【解决方案1】:

    先将参数存储在变量中,然后在查询中使用它们以避免引用错误

    【讨论】:

      猜你喜欢
      • 2014-12-19
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 1970-01-01
      • 2010-12-01
      • 2016-02-11
      相关资源
      最近更新 更多