2016-08-02 7 views
0

Ich benutze Devise für die Benutzerauthentifizierung in meiner Rails App, und ich arbeite an der Einrichtung der wiederherstellbaren Passwort-Funktion. Ich kann das in meiner lokalen Entwicklungsumgebung korrekt ausführen, aber wenn ich es auf Heroku ausstelle, funktioniert es nicht.Rails/Devise - wiederherstellbares Passwort funktioniert nicht in der Produktion (funktioniert in der Entwicklung)

In config/environments/development.rb, ich habe

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

, die perfekt funktioniert.

In config/environments/production.rb, ich habe

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

aber dies erzeugt eine Fehlerseite und die Meldung im Log:

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

ich verschiedene Lösungen, wie die Verwendung von

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

aber ohne Erfolg. Was mache ich hier falsch, das funktioniert in der Entwicklung, aber nicht in der Produktion?

+0

Und ich habe den Heroku Server nach dem Drücken des App wieder nach oben neu gestartet. – skwidbreth

Antwort

2

Dies funktioniert nicht, da Heroku keinen E-Mail-Dienst bereitstellt. Diese werden durch Add-ons erleichtert.

Die Heroku Plattform selbst keine E-Mail-Service bieten - aber bietet stattdessen Add-ons, die als Trägerdienste handeln - das an Ihre Anwendung den Dienst zur Verfügung zu stellen sind. Wenden Sie sich an den Heroku Add-Ons-Marktplatz für einen entsprechenden E-Mail-Dienst, der Ihren Anforderungen entspricht: .

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

+0

Ah danke! Das habe ich total vermisst! – skwidbreth

+0

Für jeden, der dabei ist, hat @patricks Antwort mir geholfen, diese Ressource zu finden - https://www.sitepoint.com/devise-authentication-in-depth/ – skwidbreth