このチュートリアルを使用して静的アプリをHerokuにロードしたところ、画像が表示されないことを除いて、すべてが非常にうまく機能しています。同じサイトが(Herokuを介さずに)プレーンな静的サイトとして自分のサーバーでホストされている場合、すべてのアセットが問題なく読み込まれます。
現在、リポジトリにGemfile、Gemfile.lock、app.rb、config.ru、およびpublic(静的サイトディレクトリ)があり、Herokugit push heroku master
にプッシュするためにHerokuにロードしています。
私の画像はpublic/imgにあり、htmlから直接参照されているアセットでさえ表示されません。Chromeでfirebugliteを使用してアセットディレクトリを確認すると、画像ファイルはそこにあるように見えますが、画像データがないようです(私が知る限り)。
これ以上ruby/railsファイルはありません。どこかにproduction.rbファイルが必要ですか?私は何かを逃していますか?
現在、Herokuでのセットアップは無料パッケージです。アセットを表示するには、有料パッケージにアップグレードする必要がありますか(アセットは2MBしかありません)?「public」ディレクトリ内に「assets」ディレクトリを作成し、そこにimgディレクトリを配置しようとしましたが、それでもうまくいきません。
これが私のconfig.ruです
use Rack::Static,
:urls => ["/img", "/js", "/css"],
:root => "public"
run lambda { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=86400'
},
File.open('public/index.html', File::RDONLY)
]
}