1

RoR の初心者として、アセット パイプラインがどのように機能するか、また、スタイルシート/JavaScript をアプリで利用できるようにすることに関して、アセット パイプラインが開発と運用にどのように影響するかを読んだり理解しようとしてきましたが、まだ混乱しています。

私のアプリでは、頻繁に使用する CSS/JS ファイルを application.css/.js ファイルから呼び出し、必要に応じて他の .css/.js ファイルを明示的に呼び出します。次に例を示します。

<%= stylesheet_link_tag 'reset.css',"application",'bootstrap.min.css', 'bootstrap-responsive.min.css','font-awesome.css','http://fonts.googleapis.com/css?family=Raleway:400,600,700', 'fancybox.css' %>
<%= javascript_include_tag "application", 'modernizr.js', 'bootstrap.js'%>

これは開発では問題なく機能しますが、コードを本番環境にプッシュすると、明示的に呼び出された .css/.js ファイルが機能しなくなります。ソースを表示すると、ファイルがページに適切に呼び出されていることがわかります。

これを本番環境で機能させるには、どのステップが欠けていますか? お時間を割いていただき、ありがとうございました。

更新: Martin M の提案に従って、.css/.js を config/environments/production.rb に追加しました。

例えば:

config.assets.precompile += %w(reset.css grepfrut.css jquery-ui.css base-admin.css reports.css signin.css daterangepicker.css bootstrap.min.css bootstrap-responsive.min.css font-awesome.css fancybox.css)
config.assets.precompile += %w(modernizr.js bootstrap.js ddsmoothmenu.js wice_grid.js date.js daterangepicker.js signin.js)

次に、再プリコンパイルし、パブリック/アセットにファイルが表示されている間、javascript がまだ機能せず、CSS の一部が Chrome で機能しません。ブラウザからすべてをクリアしようとしましたが、それでも Chrome、Firefox、Safari を試してもうまくいきません。

言及する価値があるかどうかはわかりませんが、現在、ホスティングプロバイダーのために、これを Ruby 1.8.7-p370 で実行することを余儀なくされています。後で、より RoR に適したプロバイダーに移行する予定です。

再度、感謝します。

4

2 に答える 2

0

本番環境で機能させるには、おそらく実行する必要がありますrake assets:precompile

于 2013-06-12T15:05:05.040 に答える