2016-08-02 72 views
0

我在使用Devise进行用户身份验证,我正在使用Rails应用程序进行用户身份验证,并且正在设置可恢复的密码功能。我能够在我的本地开发环境中正确工作,但是当我部署到Heroku时,它不起作用。Rails/Devise - 可恢复的密码在生产中不起作用(在开发中)

config/environments/development.rb,我有

config.action_mailer.default_url_options = {:host => 'localhost'} 

它完美的作品。

config/environments/production.rb,我有

config.action_mailer.default_url_options = {:host => 'fake-name-92356.herokuapp.com'} 

但是这会产生错误页面,并在我的日志消息:

ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true) 

我尝试了各种解决方案,如使用

default_url_options[:host] = 'fake-name-92356.herokuapp.com' 

但无济于事。我在这里做错了什么,这在开发中起作用,但在生产中不起作用?

+0

两者我也推应用备份后重新启动的Heroku服务器。 – skwidbreth

回答

2

这将不起作用,因为Heroku不提供电子邮件服务。这些由附加组件提供便利。

Heroku的平台,本身不提供电子邮件服务 - 但 而不是提供附加充当后盾的服务 - 可以 连接到您的应用程序提供服务。请向Heroku 附加组件市场寻求适合您的 要求的相应电子邮件服务。

https://devcenter.heroku.com/articles/smtp

+0

啊谢谢你!我完全错过了! – skwidbreth

+0

对于发生这种情况的人,@patrick的答案帮助我找到了这个资源 - https://www.sitepoint.com/devise-authentication-in-depth/ – skwidbreth