J'essaie de pousser mon application sur Heroku. Je suis encore en phase de développement. J'utilise devise avec le module confirmable.
Lorsque j'essaie d'ajouter un utilisateur avec la console heroku, j'obtiens cette erreur :
Missing host to link to! Please provide :host parameter or set default_url_options[:host]
Dans l'environnement de test et de développement, j'ai la ligne suivante :
environnements/developpement.rb et environnements/test.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
Je n'ai pas mis en place quelque chose dans l'environnement de production.
J'ai essayé de pousser avec
config.action_mailer.default_url_options = { :host => 'mywebsitename.com' }
config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' }
mais ça ne marche pas non plus
Je vois sur le web que cela pourrait être lié à ActionMailer mais je ne sais pas ce que je dois configurer. Merci beaucoup pour votre idée !
ÉDITION :
Salut,
Afin de ne pas faire planter mon application lorsque je pousse sur heroku j'ai mis ceci dans mon env/test.rb et mon env/dev.rb (pas dans env.rb je pense que c'est parce que c'est une application rails 3)
config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
Mais quand j'ai essayé de créer un utilisateur dans la console heroku :
User.create(:username => "test", :email => "test@test.com", :password => "test1234", :password_confirmation => "test1234", :confirmed_at => "2010-11-03 14:11:15.520128")
Voici les erreurs que j'ai obtenues :
ActionView::Template::Error: Missing host to link to! Please provide :host parameter or set default_url_options[:host]
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_dispatch/routing/route_set.rb:473:in `url_for'
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_dispatch/routing/url_for.rb:132:in `url_for'
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_view/helpers/url_helper.rb:99:in `url_for'
/home/slugs/.../mnt/.bundle/gems/ruby/1.8/gems/actionpack-3.0.0/lib/action_dispatch/routing/route_set.rb:195:in `user_confirmation_url'
ÉDITION (2)
Quand je tape heroku logs sur la console j'ai obtenu ceci ==> production.log <== Donc je pense que quand on déploie sur heroku c'est déjà en production.
Je configure le fichier env/prod.rb comme ceci :
config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
et maintenant j'ai cette erreur lorsque j'essaie de créer un utilisateur :
Errno::EAFNOSUPPORT: Address family not supported by protocol - socket(2)
/usr/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:551:in `initialize'
/usr/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:551:in `open'
/usr/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:551:in `do_start'
/usr/ruby1.8.7/lib/ruby/1.8/timeout.rb:62:in `timeout'