5

Rails アプリケーションの 2 つの異なるインターフェイスをテストしたいと考えています。理想的には、各インターフェイスに関連付けられた 2 つの個別の css ファイルが必要です (たとえば、new_interface.css と old_interface.css)。現在、インターフェイスには 2 つの異なるパーシャルがあります。1 つは _new_interface.html.erb と呼ばれ、もう 1 つは _old_interface.html.erb と呼ばれます。特定のビューがロードされたときに正しい css ファイルを呼び出したい場合、どうすればよいですか? たとえば、_new_interface.html.erb を読み込む場合、new_interface.css ファイルを読み込み、old_interface.css ファイルを無視するようにします。

私のapplication.css:

/*
*= require_tree
*/
4

2 に答える 2

6

この質問は、あなたがする必要があることを目的としているようです: Using Rails 3.1 assets pipeline to conditionally use certain css

簡単に言うと、app/assets/stylesheet フォルダーをいくつかのサブディレクトリに再編成し、マニフェスト ファイルを変更して、実行時にすべてがバンドルされないようにする必要があります。

次に、ビューに条件付きロジックを配置して、ジョブに適した css を読み込むことができます。ここではおそらく content_for タグが役に立ちます。app/views/layouts/application.html.erb を編集して、他の JavaScript <%= yield :view_specific_css %> の直後に行を含めることができます。次に、ビューファイルで使用できます

<% content_for :view_specific_css do %>
    <%= stylesheet_link_tag "whatever %>
<% end %>
于 2013-03-29T18:49:13.387 に答える