我有简单的带有Devise gem的Rails 4应用程序 - 我有简单的身份验证和电子邮件确认。 当地的一切都很完美。 在Heroku上我尝试注册并用无效数据填写表单时,它仍然没问题。 只有当我用正确的数据填写注册表单并且我提交时才会出现问题。
我得到"We're sorry, but something went wrong".
我的路线档案:
devise_for :users
root to: 'home#index'
match '/user_page', to: 'user_page#index', via: :all
Heroku日志:
2014-07-10T17:53:37.267324+00:00 app[web.1]:
2014-07-10T17:53:37.258566+00:00 app[web.1]:
2014-07-10T17:53:37.258590+00:00 app[web.1]: Sent mail to aa@aaaa.pl (15.7ms)
2014-07-10T17:53:37.260881+00:00 app[web.1]: Completed 500 Internal Server Error in 529ms
所以它发送电子邮件并在那次崩溃之后。
你有什么想法吗?我该怎么检查?
答案 0 :(得分:1)
当Heroku尝试发送电子邮件时(用户注册成功),似乎发生错误。
我认为您的应用正在使用"电子邮件" Heroku上的附加组件,例如SendGrid。您是否在action_mailer.default_url_options
环境文件中配置了production.rb
?
接下来,您需要在每个环境中为Devise邮件程序设置默认URL选项。以下是config/environments/development.rb
的可能配置:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
只需确保将您应用的实际域名用于production.rb
中的主机密钥。