【问题标题】:Datamapper can't update password tokenDatamapper 无法更新密码令牌
【发布时间】:2016-12-28 19:34:00
【问题描述】:

我有一个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 更新到用户数据库。

【问题讨论】:

    标签: ruby sql-update datamapper


    【解决方案1】:

    在这个方法中:

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

    您正在调用self.save,但不能保证会成功。

    如果您想知道保存失败的原因,请改用save!

    【讨论】:

      猜你喜欢
      • 2012-07-09
      • 2015-10-11
      • 2021-07-03
      • 1970-01-01
      • 2020-04-11
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 2017-06-19
      相关资源
      最近更新 更多