アプリをherokuにプッシュしようとしています。私はまだ開発中です。確認可能なモジュールでdeviseを使用します。
herokuコンソールでユーザーを追加しようとすると、次のエラーが発生しました。
Missing host to link to! Please provide :host parameter or set default_url_options[:host]
テストおよび開発環境では、次の行があります。
environment / development.rbおよびenvironments / 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に関連している可能性があることをWebで確認しましたが、何を設定する必要があるのかわかりません。あなたのアイデアに感謝します!
編集:
こんにちは、
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 => "test@test.com", :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'