我是 UJS 的粉丝很长时间了,我通常把我所有的代码都放在 application.js 中(jquery,不是原型)
但是,我遇到了一个巨大的项目,如果不加注意,application.js 会膨胀,我不希望这种情况发生,特别是因为我的大部分功能/行为都将基于特定页面。现在,我倾向于将 javascript 调用放在特定的部分上,如下所示:
在 _test_partial.html.haml 上:
%p= link_to "Expand All", '#', :class => "expand-categories"
:javascript
$(function() {
$('.expand-categories').click( function() {
$(".test-cases").slideToggle();
return false;
})
})
或者,如果我真的想要“不引人注目”的东西:
%p= link_to "Expand All", '#', :class => "expand-categories"
= javascript_include_tag 'test-categories.js'
但是在我看来,这仍然很突兀,好像我必须编辑代码/行为,我将不得不寻找有关的部分。另一方面,我需要编辑一个函数的 1MB(有很多页面,并且可能会有很多页面特定的代码)application.js 不是那么容易。
通常对此有何看法?有没有办法让我命名一个js文件ala RJS,比如test_partial.js.erb os什么的?