ruby-on-rails - 使用 devise-async 发送电子邮件不起作用 (Rails/Sidekiq)

标签 ruby-on-rails devise redis sidekiq devise-async

我有 sidekiq (2.15.2)devise (3.2.0)devise-async (0.9.0) Rails 应用程序。

我正在尝试让 devise-async 接管发送电子邮件。但没有运气。我关注了instructions像这样:

:async 添加到 User 模型:

# models/user.rb
class User
  include Mongoid::Document
  devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :async
end

创建一个初始化器:

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

我没有在我的邮件程序中进行任何自定义修改

# config/initializers/devise_async.rb
Devise.setup do |config|
  config.mailer_sender = "my@email.com"
  # config.mailer = "Devise::Mailer"
end

以下是创建新帐户时控制台中显示的内容:

Started POST "/da/users" for 127.0.0.1 at 2014-05-29 14:42:07 +0200
Processing by RegistrationsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"wyIIRqVoYrXqbX/U+3PGyrYI/MIxcH1YErUQ7JWcfUs=", "user"=>{"company"=>"Some Company Ltd.", "email"=>"some@email.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Opret", "locale"=>"da"}
  MOPED: 127.0.0.1:27017 QUERY        database=mydb_development collection=users selector={"email"=>"some@email.com"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.9300ms
  MOPED: 127.0.0.1:27017 QUERY        database=mydb_development collection=users selector={"$query"=>{"confirmation_token"=>"5bc925b83260b498dfc26e202c1403c39638527b62c85fec7e97c9f59d1f55d8"}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.8670ms
  MOPED: 127.0.0.1:27017 INSERT       database=mydb_development collection=users documents=[{"_id"=>BSON::ObjectId('53872b204368720748000000'), "email"=>"some@email.com", "encrypted_password"=>"$2a$10$6WQO8zK2Sl/HCPPYHIdKceKpaY9gH.LJZlRM8PA.6i2rePmI8C1Ii", "sign_in_count"=>0, "company"=>"Some Company Ltd", "confirmation_token"=>"5bc925b83260b498dfc26e202c1403c39638527b62c85fec7e97c9f59d1f55d8", "confirmation_sent_at"=>2014-05-29 12:42:08 UTC, "locale"=>"da", "timezone"=>"Europe/Copenhagen"}] flags=[]
                     COMMAND      database=mydb_development command={:getlasterror=>1, :w=>1} runtime: 1.0460ms
2014-05-29T12:42:08Z 1864 TID-oxcjnftnc INFO: Sidekiq client using redis://localhost:6379/0 with options {}
Redirected to http://localhost:3000/da/users/confirmation/new
Completed 302 Found in 1469ms

虽然我的 Sidekiq 日志没有显示任何内容。

有什么想法吗?

最佳答案

设置 Devise::Async.queue = :default

关于ruby-on-rails - 使用 devise-async 发送电子邮件不起作用 (Rails/Sidekiq),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23933788/

相关文章:

ruby-on-rails - 为什么我的参数哈希为零?

ruby-on-rails - 什么是自动修复英语语法的 Rails 插件或 Ruby gem?

ruby-on-rails - 在 Rails 中将 Devise 身份验证助手与 `OR` 语句相结合

ios - Heroku上具有Devise的Rails 3.2应用程序:无法使用Mobile Safari登录

javascript - 如何使用Node.js实现存款人和取款人之间的匹配?

database-design - Redis 集的替代品

html - 动态表格中的表格仅适用于第一个版本(Rails)

ruby-on-rails - 如何在 RSpec 中使用 I18n 翻译测试 Ruby 代码

ruby-on-rails - Ruby on Rails - 设计注册空白密码

redis - 仅当 SCARD 低于某个值时才 SADD