在Heroku上注册Devise后出错

时间:2014-07-10 18:10:12

标签: ruby-on-rails ruby heroku ruby-on-rails-4 devise

我有简单的带有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

所以它发送电子邮件并在那次崩溃之后。

你有什么想法吗?我该怎么检查?

1 个答案:

答案 0 :(得分:1)

当Heroku尝试发送电子邮件时(用户注册成功),似乎发生错误。

我认为您的应用正在使用"电子邮件" Heroku上的附加组件,例如SendGrid。您是否在action_mailer.default_url_options环境文件中配置了production.rb

根据Devise documentation

接下来,您需要在每个环境中为Devise邮件程序设置默认URL选项。以下是config/environments/development.rb的可能配置:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

只需确保将您应用的实际域名用于production.rb中的主机密钥。