2016-08-25 15 views
1

テストモードでのみ実行したいCSSファイルがありますが、開発やプロダクションでは実行しません。私は次のように、このインラインを行う方法を知っている:これは動作しますRuby on Railsのテストモードでのみ外部CSSを実行

<% if Rails.env.test? &> 
    <style> 
    //My test only styles 
    </style> 
<% end %> 

彼らは未組織し、維持するのは難しいしているので、しかし、私は、インラインスタイルシートを避けることを好みます。

<%= stylesheet_link_tag 'my_stylesheet.css' if Rails.env.test? %> 

これは、CSSファイルをapplications.cssに追加する場合にのみ機能しますが、これは外部スタイルシートに適用してみました。そして私がこれを行うと、ファイルは、私が実行している環境に関係なく追加されます。

私の質問は、テストモードでのみ実行されるレールに外部スタイルシートを追加する方法です。ボーナスポイントについては、テストモードでしか実行されないSASSをコンパイルするためにどのようにレールを取得できますか?

答えて

1

これは完璧な解決策ではありませんが、テストモードでhtmlまたはbodyタグにクラスを追加し、そのクラスをテストスタイルに明示的に指定することを検討できます。

これにより、明確な分離と保守性の利点が得られますが、トレードオフはアセットパイプラインで編集する必要があることです。

関連する問題