Datamapper无法更新密码令牌

时间:2016-12-28 19:34:01

标签: ruby sql-update datamapper

我有user型号

class User
  include Datamapper::Resource

  property :id, Serial
  property :password_token, String

  def generate_token
   self.password_token = SecureRandom.hex
    self.save
   end
end

和这个控制器路线:

post '/users/token_sent' do
 user = User.first(email: params[:email])
   if user
     user.generate_token 
   end
 redirect('index')
end

当用户填写电子邮件以从后期路由恢复密码时,我希望将password_token属性更改为SecureRandom.hex实例。

该方法不会将password_token更新为用户数据库。

1 个答案:

答案 0 :(得分:0)

在这种方法中:

self.save

您正在致电save!,但这并不能保证会成功。

如果您想知道它为何无法保存,请改用amTimeAgo