[解決済み] Heroku/devise - リンク先のホストがありません! hostパラメータを指定するか、default_url_options[:host]を設定してください。
質問
私は自分のアプリをherokuにプッシュしようとしています。私はまだ開発中です。 私はconfirmableモジュールとdeviseを使用しています。
herokuコンソールでユーザーを追加しようとすると、このエラーが発生しました。
Missing host to link to! Please provide :host parameter or set default_url_options[:host]
をテスト環境と開発環境で使用する場合、次のような行があります。
環境/development.rb と環境/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' }
が、これもうまくいかない。
WebでActionMailerが関係している可能性があると見ましたが、何を設定すればいいのかわかりません。 あなたのアイデアに感謝します。
を編集しました。
こんにちは。
herokuでプッシュしたときにアプリがクラッシュしないように、env/test.rb と env/dev.rb に以下のように記述しました (rails3アプリなので env.rb には記述しない)。
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'
EDITED (2)
コンソールでheroku logsを入力すると、次のようになりました ==> 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'
解決方法は?
を追加する必要があります。
environment.rb
config.action_mailer.default_url_options = { :host => 'localhost' }
を必ず変更してください。
host
を本番用のURLに変更し、開発用にはlocalhostのままにしておきます。これはメーラー用で、確認などの通知を送信するためにデフォルトのメールが必要です。
herokuサーバーのログを確認する必要があります。
heroku logs
をコンソールから実行すれば、正確なエラーを教えてくれるでしょう。
heroku にプッシュする際に
environment.rb
ファイルを heroku のサブドメインで作成します。
config.action_mailer.default_url_options = { :host => 'yourapp.heroku.com' }
バージョンによっては、次のようになります。
production.rb
ではなく
environment.rb
.
関連
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] Ruby on Railsのランナー
-
[解決済み] Rails のインストールに失敗する: activesupport には Ruby のバージョン >= 2.2.2 が必要です。
-
[解決済み] Ruby on rails "No route matches" (ルートに一致するものがない)。
-
[解決済み] erbでコメントを追加する最適な方法
-
[解決済み] バリデーションなしで属性を更新する方法
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み】Rails: リンク先のホストが見つからない! パラメータ:hostを指定するか、default_url_options[:host]を設定してください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] Ruby on Railsでsimple_formを使うさまざまな方法|何が違うの?
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。