J'essaye de pousser mon application sur heroku. Je suis toujours en développement. J'utilise la devise avec le module confirmable.
Lorsque j'essaie d'ajouter un utilisateur avec la console heroku, j'ai 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 / development.rb et environnements / test.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
Je n'ai rien configuré 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 trop ..
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!
ÉDITÉ:
Salut,
Afin de ne pas faire planter mon application lorsque j'appuie sur heroku, je mets 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:
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'
MODIFIÉ (2)
Quand je tape les logs heroku sur la console, j'ai ceci ==> production.log <== Donc je pense que quand on déploie sur heroku, c'est déjà en production.
Je configure env / prod.rb comme ceci:
config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
et maintenant j'ai ceci comme 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'