0

由于我的声誉低于 50,所以我无法在这篇文章中接受的答案下方发表评论In Rails Devise gem 如何修改 send_reset_password_instructions 方法?了解更多信息。

我想在设计中自定义recoverable.rb 。我使用路径lib/devise/models/recoverable.rb在我的文件夹中制作了它的副本。问题是当请求发送重置密码指令时,我得到了错误undefined method activerecord51? for Devise:Module。我该如何解决这个问题?

看来我的可恢复不在设计模块中。我通过在lib/文件夹中复制devise.rb进行了一些尝试。但这无济于事。

有人可以帮忙吗?

编辑

任何不便敬请谅解。目前我只是试图将更多选项传递给该方法send_reset_password_instructions

对此有任何想法吗?

4

1 回答 1

1

在一些 Rails 初始化程序中如何做呢?您可能正在覆盖原始类/模块,因此所有其他方法都消失了。

# config/initalizers/devise.rb
Devise::Models::Recoverable::ClassMethods.module_eval do
  def send_reset_password_instructions(your, params)
    token = set_reset_password_token
    send_reset_password_instructions_notification(token)

    token
  end
end
于 2018-07-24T11:17:24.330 回答