我正在尝试使用rails 4应用程序设计MailyHerald。 我按照以下步骤操作: https://github.com/Sology/maily_herald/wiki/Setup-with-'devise'-gem
现在,当我尝试注册新用户时(确认邮件应该通过MailyHerald发送)我收到此错误:
NoMethodError at /user
undefined method `[]' for false:FalseClass
maily_herald (0.9.3) lib/maily_herald.rb
# Gets the Maily logger.
def logger
unless MailyHerald::Logging.initialized?
opts = {
level: options[:verbose] ? Logger::DEBUG : Logger::INFO,
}
opts[:target] = options[:logfile] if options[:logfile]
MailyHerald::Logging.initialize(opts)
end
有什么想法吗?感谢
修改: 一个小的更新,可能与我得到的错误有关:
当我做的时候
maily_herald paperboy --start
如页面above所示,我得到了
undefined method `merge' for false:FalseClass
编辑2: 好的,我做了一些测试。
我创建了一个新的应用程序,从头开始设计(rails 4.2.5.1和ruby 2.2.4p230)。 现在,当用户注册时,我没有收到任何错误,但没有发送确认电子邮件。
运行后台处理
maily_herald paperboy --start
返回此
[Maily#cli] INFO: Started with options: {:mode=>:paperboy, :action=>:start, :daemon=>true}
You really should set a logfile if you're going to daemonize
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/gems/maily_herald-0.9.3/lib/maily_herald/cli.rb:200:in `daemonize'
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/gems/maily_herald-0.9.3/lib/maily_herald/cli.rb:45:in `paperboy'
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/gems/maily_herald-0.9.3/bin/maily_herald:10:in `<top (required)>'
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/bin/maily_herald:23:in `load'
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/bin/maily_herald:23:in `<main>'
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/bin/ruby_executable_hooks:15:in `eval'
/Users/fabbrro/.rvm/gems/ruby-2.2.4@testMailyHerald/bin/ruby_executable_hooks:15:in `<main>’
为了进一步调查,我还尝试设置sample application。我创建了一些实体(用户)并尝试向他们发送电子邮件(通过mailcatcher)。 到现在为止,即使没有安装设计宝石,我似乎没有运气: 运行后台处理时根本没有消息, 没有错误, 但也没有发送邮件。有人设法成功试用了该应用吗?
答案 0 :(得分:2)
我刚刚注意到这个问题。你看过我对github的评论吗?
https://github.com/Sology/maily_herald/issues/17#issuecomment-182412069
另外,我检查了我的Procfile
并且我正在运行:
web: bundle exec rails s
worker: bundle exec sidekiq -v
paperboy: bundle exec maily_herald paperboy
Sidekiq
对于MailyHerald
至关重要。我认为它没有在Wiki页面上指定。如果这解决了您的问题,请告诉我。我也会尝试使用您的设置设置新应用程序。我可以查看任何公开回购?
<强>更新强>
刚创建了新应用:
gem install mailcatcher
mailcatcher
gem install foreman
在您的app目录中创建Procfile
,使用以下代码:
web: bundle exec rails s
worker: bundle exec sidekiq -v
paperboy: bundle exec maily_herald paperboy
foreman start
然后在浏览器中打开mailcatcher和app并注册新用户。你应该看到新添加的邮件发送到调度程序和运行它的sidekiq日志。