1

asset_pipeline を理解しようとしています。

私は基本的に、すべてのウェブサイト全体のコードを style.css.scss (application.css.scss で @imported) に持っています。

また、そのページにロードするためだけに別のファイルに分割したコードを持つその他のコントローラーもいくつかあります。たとえば、私のprofiles_controllerにはprofiles.css.scssとprofiles.jsがあります

ドキュメントでは、次のように入力して条件付きでそれらを含めることができると書かれています。

<%= stylesheet_link_tag params[:controller] %>

および javascript_include_tag の同様のもの

問題は、コントローラ スタイルシートを持たないページでソースを表示すると、404 ファイルが見つからないことです。コントローラーごとに 10 個の空のファイルと 10 個の空の JavaScript ファイルを持ちたくありません (これらのコントローラーには余分な css やコードがほとんどないため、メインの scss ファイルに入れます) ... これは間違っていますか?

注: JS および css ファイルからインクルード ツリーを削除しました。そのフォルダー内のファイルをインクルードしたくないためです。

4

1 に答える 1

0

yieldアプリケーション レイアウト ファイルに、次のようなステートメントを追加して、さまざまなビューに 1 回限りとして含めるスタイルシートを取り込みます。

= stylesheet_link_tag    "application"
= yield :stylesheets 
= javascript_include_tag "application"
= yield :javascripts 

次に、スタイルシートを含める各ビュー ファイルで次のようにします。

= content_for :stylesheets do
  = stylesheet_link_tag "controller_name"

= content_for :javascripts do
  = javascript_include_tag "controller_name"

これにより、必要なビューのみにそれらのファイルが含まれます。

于 2012-07-03T22:50:35.747 に答える