Ruby on Rails OpenShift アプリケーション (ruby 1.9、Rails Rails 3.2.13) があり、開発環境で問題なく動作しています。ただし、アプリケーションを OpenShift にデプロイすると、次のエラーが発生します。
ActionView::Template::Error (logo.png isn't precompiled):
2: <header>
3: <div id="header" class="clearfix landing_header">
4: <a href="#" id="logo">
5: <%= image_tag("logo.png") %>
6:
7: </a>
logo.png がプリコンパイルされていないというエラーが表示されることを理解しています。これらのディレクティブは私のproduction.rb
環境で設定されているため、これは理にかなっています。
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
さて、私のアセットはプリコンパイルされていますか? アプリを ( を使用してgit push
) デプロイすると、次のようなことがわかります。
remote: Precompiling with 'bundle exec rake assets:precompile'
そしてエラーはありません... SSHを使用してOpenShiftリポジトリでプリコンパイルされたアセットを検索しても、他の多くのアセットとともにそこに表示されます。
> ls public/assets | grep logo
logo-66589ea9e7a1caa7f2151a721d6cdbd2.png
ブラウザで自分のアプリのアドレス/資産/そのファイル^^を押すと、それを見ることができます。唯一の問題は、image_tag がそうでないことです。
私は何を間違っていますか?アセットはプリコンパイルされていますね。image_tag の使い方が間違っていますか? 前もって感謝します!