0

我正在尝试手动创建一个设计用户。问题是验证似乎只在我调用User.create.

当我调用User.new时,生成的用户实例无效。不幸的是,我无法确定原因。

生成的错误消息只是“验证失败:”。

知道发生了什么吗?

我宁愿不使用User.create,因为我想#skip_confirmation!在保存之前打电话,这样就没有电子邮件出去了。

任何想法如何调试这个?我试过遍历堆栈跟踪,但没有运气。

if user = User.create(params[:user])
  user.skip_confirmation!
  user.save!
  flash[:success] = "New user #{user.email} created."
  redirect_to user_root_path
else
  flash[:alert] = user.errors
  redirect_to user_root_path
end
4

3 回答 3

0

更改条件,因为该值将始终回答为真。正如dwhalen所说。

于 2013-12-24T00:24:26.837 回答
0

尝试将密码添加到参数数组。

params[:user][:password] = Devise.friendly_token[0,20]

于 2013-02-16T01:15:22.657 回答
0

我无法解释为什么会这样,但似乎在调用user.confirm!之前调用user.skip_confirmation!解决了这个问题。

于 2013-05-28T23:35:08.500 回答