Ruby on rails 启动前邮件器不工作

Ruby on rails 启动前邮件器不工作,ruby-on-rails,Ruby On Rails,我正在Heroku上运行Harry的prelaunchr(),当新用户注册该网站时,应该发送的欢迎电子邮件不会发送出去。rails应用程序正在使用Delayed::Job,当我运行时 heroku rake jobs:work 我得到以下输出: Rendered user_mailer/signup_email.html.erb (1.2ms) [Worker(host:46d2c895-5e66-464b-8594-510461de915c pid:3)] Class#signup_ema

我正在Heroku上运行Harry的prelaunchr(),当新用户注册该网站时,应该发送的欢迎电子邮件不会发送出去。rails应用程序正在使用Delayed::Job,当我运行时

heroku rake jobs:work
我得到以下输出:

 Rendered user_mailer/signup_email.html.erb (1.2ms)
[Worker(host:46d2c895-5e66-464b-8594-510461de915c pid:3)] Class#signup_email failed with ActionView::Template::Error: undefined method `encoding' for {:host=>"windreturns.com"}:Hash - 9 failed attempts
^注意:host=>“windreturns.com”是我的域,但它不是站点当前所在的位置(它是一个genericname.herokuapp.com域)


你知道为什么工作会失败吗?如何获得要发送的电子邮件?

我不确定原因,但文件
app/views/user\u mailer/signup\u email.html.erb
似乎有几个问题,可以追溯到有语法错误的。当前版本使用的资源链接如下:

<%= Rails.application.config.action_mailer.default_url_options %>/assets/logo.jpg
你必须在九个地方这样做,然后它就会起作用


还可以设置如下内容:
DEFAULT\u MAILER\u HOST=”http://localhost:5000“
在您的
.env
文件中。

在您的生产环境中`config.action\u mailer.default\u url\u options={:host=>'www.example.com'}`这里设置了什么,在mailer viewconfig.action\u mailer.default\u url\u options={:host=>'windrurns.com'}`中使用的是什么?”是在生产中设置的…这就是它不起作用的原因吗?请将其替换为
ActionMailer::Base.action\u mailer.default\u url\u options={:host=>request.host\u with\u port}
在\u filterI替换行之前:
config.action\u mailer.default\u url\u options={:host=>'www.example.com'}
with:'ActionMailer::Base.action\u mailer.default\u url\u options={:host=>request.host\u with\u port}'在预编译资产时得到此消息:'Admins MacBook Air:prelaunch admin$RAILS\u ENV=production bundle exec rake assets:precompile:all RAILS\u ENV=production RAILS\u GROUPS=assets rake中止!ActionMailer::Base:Class/Users/admin/.rvm/gems/ruby-2.0.0的未定义方法
action\u-mailer'-p598@prelaunch-app/gems/actionmailer-3.2.11/lib/action\u mailer/base.rb:438:in
method\u missing“你有没有发现这个问题?我设置这个也有困难。
<%= Rails.application.config.action_mailer.default_url_options[:host] %>/assets/email/logo.jpg