加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 通过Resque发送Devise电子邮件

发布时间:2020-12-16 19:36:04 所属栏目:百科 来源:网络整理
导读:我试图通过Resque发送Devise电子邮件. 定期的电子邮件正在通过Resque发送.而Devise电子邮件发送的很好,但不是通过Resque设计电子邮件.我得到“找不到有效的映射”,这意味着我的帮助覆盖不会被拾取. 我跟着这个http://shaker.4-dogs.biz/2011/08/06/using-res
我试图通过Resque发送Devise电子邮件.

定期的电子邮件正在通过Resque发送.而Devise电子邮件发送的很好,但不是通过Resque设计电子邮件.我得到“找不到有效的映射”,这意味着我的帮助覆盖不会被拾取.

我跟着这个http://shaker.4-dogs.biz/2011/08/06/using-resque-to-send-mail-for-devise/

奇怪的是,要调试它,我正在使用Devise的本地副本,并在Devise中的“initialize_from_record”中添加断点,当我只使用Devise时,它会被击中.但是当我发送Devise电子邮件通过resque断点不会得到命中:

class ResqueMailer < Devise::Mailer
  include Resque::Mailer
end

config.mailer = "ResqueMailer"

而resque而是显示一个打包的宝石路径,而不是我的本地源,如:

/Users/mm/.rvm/gems/ruby-1.9.2-p290@evergreen/gems/devise-1.4.9/lib/devise/mailers/helpers.rb:20:in `devise_mail'

任何想法为什么它不使用我的本地宝石来源和/或如何让Resque发送我的Devise电子邮件?

解决方法

一个简单的方法是使用 devise-async宝石.

将宝石添加到您的Gemfile

# Gemfile
gem "devise-async"

配置Devise以使用代理邮件程序.

# config/initializers/devise.rb
config.mailer = "Devise::Async::Proxy"

[可选]最后告诉DeviseAsync使用Resque来排列电子邮件.

# config/initializers/devise_async.rb
Devise::Async.backend = :resque

宝石还支持Sidekiq和Delayed :: Job.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读