Heroku / devise - отсутствует хост для ссылки на! Пожалуйста, предоставьте: параметр хоста или установите default_url_options [: хост]

Я пытаюсь протолкнуть мое приложение на героку. Я все еще в разработке. Я использую устройство с подтверждаемым модулем.

Когда я пытаюсь добавить пользователя с консоли heroku, я получаю эту ошибку:

Missing host to link to! Please provide :host parameter or set default_url_options[:host]

в среде тестирования и разработки у меня есть следующая строка:

environment / development.rb и environment / test.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }

Я не настроил что-то в производственной среде.

Я пытался подтолкнуть с

config.action_mailer.default_url_options = { :host => 'mywebsitename.com' }
config.action_mailer.default_url_options = { :host => 'heroku.mywebsitename.com' }

но это тоже не работает ..

В Интернете я вижу, что это может быть связано с ActionMailer, но я не знаю, что мне нужно настроить. Большое спасибо за вашу идею!

Редакция:

Привет,

Чтобы не вызывать сбои моего приложения, когда я нажимаю на heroku, я помещаю это в мой env / test.rb и мой env / dev.rb (не в env.rb, я думаю, что это потому, что это приложение rails 3)

config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }

Но когда я попытался создать пользователя в консоли heroku:

User.create(:username => "test", :email => "[email protected]", :password => "test1234", :password_confirmation => "test1234", :confirmed_at => "2010-11-03 14:11:15.520128")

Вот ошибки, которые я получил:

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'
Отредактировано (2)

Когда я набираю логи heroku на консоли, я получаю это ==> production.log <== Поэтому я думаю, что когда кто-то развертывает на heroku, он уже работает.

Я настраиваю env / prod.rb следующим образом:

config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }

и теперь у меня это ошибка, когда я пытаюсь создать пользователя:

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'

Ответы на вопрос(7)

Ваш ответ на вопрос