今天只是一个又一个问题。我只是部署到我的生产服务器并进行测试,每当有任何事情涉及电子邮件时都会出现问题特别是随着设计的可证实的注册电子邮件,每当我注册了一个账号,抛出下面的错误了日志...Rails/Devise/Mailer:在尝试注册时抛出'config.action_mailer.default_url_options'错误
ActionView::Template::Error (You can no longer call ActionMailer::Base.default_url_options directly. You need to set config.action_mailer.default_url_options. If you are using ActionMailer standalone, you need to include the routing url_helpers directly.):
在我的配置/环境/ production.rb看,我有下面的一组...
config.action_mailer.default_url_options = { :host => 'localhost' }
所以config.action_mailer.default_url_options IS被使用,但被完全忽略。我尝试将主机更改为“127.0.0.1”和我的服务器的IP地址,但它不会有。把它扔在config/application.rb中,但是不行。我在我的项目中寻找其他声明default_url_options的行,但它只在production.rb文件中设置。我谷歌搜索,并发现一篇文章,建议将config.cache_classes设置为false,但也是否定的。
现在,这里是疯了......每当我尝试在我的项目中提交全新评论时,我都会得到同样的错误(如果您是第一次评论者,请发送电子邮件以确认电子邮件地址)。我从production.rb文件中取出了config config.action_mailer ...等,并且中提琴 - 我的评论邮件程序工作并发送了电子邮件就好!
尽管如此,Devise仍然是绝对固执的,并不断向我抛出上述错误。任何想法为什么?顺便说一下,我所有的宝石都是最新的。以下是我的production.rb文件。
--- UPDATE ---------------
取得了一点进步,但是这仅仅是怪异。当我启动服务器并尝试做一些将发送邮件(用户注册,评论)的东西时,我会看到上面的ActionMailer :: Base错误消息。当我再次尝试行动时...它工作并发送邮件。从那时起(直到Passenger和/或服务器重新启动),所有邮件程序操作都可以正常工作。
但并非没有另一个问题(它永远不会结束)......由于某种原因,电子邮件正文是完全空白的。