CSSとJavaScriptに適切なスコープを適用することで、問題を解決しました。たとえば、レイアウトファイルのbodyタグには、次の方法で動的IDが与えられます。
<body id="<%= "#{params[:controller]}-#{params[:action]}" %>" data-controller=<%= params[:controller] %> data-action=<%= params[:action] %>>
そして、私のusers_index.cssファイルでは、そのアクションは以下を使用してスコープとスタイルが設定されています。
body#users-index { .. }
したがって、私のCSSマニフェストは次のようになります。
/*
*= require self
*= require jqueryUi
*= require_tree .
*/
JavaScriptに関しては、私は次のことを行います。
APP = { init: function() { ... },
users = {
index: function() {
//jQuery bindings here;
},
show: function() {
//More jQuery bindings here for this action;
}
}
}
ここで、ページが読み込まれると、次のようになります。
(function() {
action = $("body").data("action");
controller = $("body").data("controller");
APP.init();
APP[controller][action]();
})();
少し回避策がありますが、Paul Irishと彼の仲間がJavaScriptを実行し、RailsCastsのRyan BatesがCSSメソッドを実行するのを見たので、100%悪い習慣になることはないと思います。