2012-07-11 6 views
13

localhost:3000/foo.htmlとしてローカルで動作する静的なページがいくつかありますが、これはherokuにアップロードした後は動作しません。herokuのrails appを実行していて、/ publicフォルダの静的ページが表示されない

私はroutes.rbをファイルに以下を追加してみました:

match '/foo', :to => redirect('/public/foo.html') 

それが動作するようには思えない、それはfoobar.com/public/foo.htmlに私をリダイレクトし、まだ何も見つかっていませんそこ。

+1

実稼働環境の設定で 'config.serve_static_assets = true'はありますか? –

+0

私はこれを真に設定している – cbass

+0

どういうわけか、静的ファイルは英雄側には決してしなかった。 – cbass

答えて

38

this articleごとに、あなたが静的な資産そのものを提供するためのRailsに伝える必要があります:中

config.serve_static_assets = true 

あなたconfig/environments/production.rbまた

+0

私は誤ってこの回答を投票しましたが、投票を変更することはできませんが、それは正しいです、ありがとう –

+0

また、あなたが含まれていないことを確認してください.gitignoreのあなたのパブリックフォルダ。特定のファイルのみを含める場合は、パブリックフォルダを無視して、無視するファイルを除外できます。 Like: /public/* !/public/404.html – rpbaltazar

0

本番グループにrails_12factor宝石を追加することができます。

gem 'rails_12factor', group: :production 

Herokuによる。これはまた、Herokuが要求するようにログをstdoutにリダイレクトします。

0

これは数時間私を困惑させましたが、ここに別の潜在的な解決策があります。何らかの理由で/public/docsにドキュメントを生成することができましたが、ドキュメントを生成した直後でもドキュメントはロードされませんでした。私は、Heroku bashコンソールを実行し、ドキュメントを生成し、終了してから、Heroku bashを再実行して、/publicには私のdocsフォルダが含まれていないことが分かりました。

私が見つけた唯一の解決策は、ドキュメントをGitリポジトリに含めることでした。これは、Herokuがデプロイとbashのインスタンス間で/public/docsを永続させる唯一の方法でした。

なぜこれが...私はHerokuとのサポートチケットを開き、応答を待っています。

+0

herokuサポートチームから得た回答を投稿できますか?他人を助けるかもしれない。 –

関連する問題