3

アプリの1つをherokuにデプロイしました。このアプリは使用します:

  • デフォルトの「myapp.herokuapp.com」アドレス、
  • そして、 「www.myapp.com」からアプリにアクセスできるようにドメインを構成しました。

そして、今日、次の問題に気づきました。アプリケーションのリンクは、「http://myapp.herokuapp.com/page」のURLにアクセスしても、 「http://myapp.herokuapp.com」ドメインに基づいてい ます(したがって、「http://myapp.herokuapp.com/page」のURLを取得します) 。私のドメイン名を使用するアプリ( 「www.myapp.com/page」のURLを取得することを期待します)。

私はproduction.rbを編集し、default_url_optionsを設定しようとしました:

# Base domain for url generation 
config.action_controller.default_url_options = { :host => "www.myapp.com" }

しかし、それは物事を変えません。また、念のため、application.rbでこれを変更しようとしましたが、何も起こりません。

どんな手掛かり ?助けてくれてありがとう!

編集:これは、データベースを新しいHeroku postgresに移行したとき、今日以前は期待どおりに機能していました。これが影響を与える可能性があるかどうかわからない。

4

2 に答える 2

2

URLに_pathメソッドを使用している場合、これは、アクセスしたURLに常に基づく相対パスを生成します。コントローラ/フラグメントキャッシングを使用している場合は、ビューで代わりに_urlを使用する必要があります。すべてのページに何らかのコントローラーロジックがある場合は、production.rbでconfig.action_controller.perform_cachingをfalseに設定することも検討してください。

Railsでのキャッシュの仕組みの詳細については、このページを参照してください。

于 2012-08-11T23:45:55.417 に答える
0

私も同様の問題を抱えていました。これは、heroku.comを指し、herokuapp.comにリダイレクトされた次のコード行が原因で発生しました。

  config.action_mailer.default_url_options = { :host => 'my-staging-domain.heroku.com' }

action_mailer .default_url_optionsであるにもかかわらず、action_controller.default_url_optionsを明示的に設定していない場合は、メーラーの範囲外のデフォルトのURLオプションに明らかに影響するためです。

于 2015-05-04T13:30:44.667 に答える