0

これは、アセットパイプラインから期待したことではありません。

「bugs_controller.rb」というコントローラーがあるとしましょう。コントローラを生成すると、アセットパイプラインに次のようなスタイルシートも表示されます。

bugs.css.scss

今、私はRails3.2.8アプリケーションでsimple_form_forを使用しています。この1つのコントローラーのフォーム要素をでレイアウトしたいfloat:le ftので、bugs.css.scssに次のように配置します。

.control-group {
  float: left;
}

しかし、そうすると、そのスタイルがすべてのビューに適用されます。

つまり、Asset Pipelineは、CSSに関するメンテナンス目的でのみ関心の分離を提供します。これは通常の機能ですか?もしそうなら、ユーザーが各ページで必要としないCSSをロードする背後にある理由は何ですか?または、アプリケーションが誤って他のビューにbugs.css.scssをロードしていませんか?

4

1 に答える 1

1

application.css を読み込んでいますか? あなたがいて、そこにこの行がある場合 *= require_tree . 次に、stylesheets フォルダー内のすべての css ファイルが読み込まれます。私はRails 3が初めてで、これがこれを行うための推奨される方法であるかどうかはわかりませんが、レイアウトファイルで、どこにでもロードする必要があるcssファイルをロードした後のヘッドタグで、あなたが求めていることを行う必要がある場合置いた

<%= yield :css_files %> 

そして、ファイルの上部に他の特定のcssファイルを必要とする他のビューで、追加します

<%= content_fo :css_files do %>
     <%= stylesheet_link_tag 'whatever.css' %>
<% end %>

うまくいけば、これは役に立ちます。

または、フォームを id を持つコンテナーと、その特定のコンテナーの css ターゲット .control-group でいつでもラップすることができます。

#form-wrapper .control-group
{
     float: left;
}
于 2012-09-14T02:15:11.680 に答える