数据库写入在rails控制器中延迟?

时间:2010-02-12 16:01:51

标签: ruby-on-rails authlogic

我正在使用authlogic生成易腐令牌并将其发送给用户以激活其帐户,并在稍后的延迟作业中发送邮件。像这样:

  def deliver_activation_instructions!
    reset_perishable_token!
    Notifier.send_later(:deliver_activation_instructions, self)
  end

我所看到的是,'reset_perishable_token'调用所写的易腐令牌不是通过电子邮件发送给用户的令牌。如果我正在使用send_later,那么工作人员是否有可能从数据库中获取旧值?我认为Notifier.send_later调用只会在令牌被写入之后发生....或者有什么我不明白这是如何工作的?

1 个答案:

答案 0 :(得分:0)

要回答我的问题,问题不是数据库写错 - 每次保存数据库记录时,authlogic库会自动更新易腐令牌。我正在发送令牌,然后保存重置令牌的用户记录!我需要一个配置设置: disable_perishable_token_maintenance = true

这就是诀窍并修复了我的错误