在rails中添加javascript函数的最佳做法?

时间:2011-12-29 10:59:45

标签: javascript ruby-on-rails

我使用的是rails,我有很多javascript函数,我不想把它们放在application.js中。可以根据布局将它们移动到不同的js文件吗?这样每次加载时,都不会加载所有这些。是否有其他最佳做法可用于此类问题。

2 个答案:

答案 0 :(得分:1)

在我看来,你想要编写自己的bootstraper。是的,这是一个好主意(尽管它与rails无关)。例如,使用jQuery函数$.getScript(),您只能动态加载所需的脚本(当然,您需要一些额外的脚本来自动执行此过程)。

虽然有两个学校:一个往往会将尽可能多的数据压缩到一个大文件中(与浏览器缓存一起是非常好的方式),另一个用自举程序 - 只加载你真正需要的那些脚本。 / p>

另一方面,如果你的脚本没有(例如)jQuery本身那么大,那么它真的没关系,imho。

答案 1 :(得分:0)

一般来说,我们遵循以下规则,

  • 如果许多控制器视图使用该代码,请将其放在application.js
  • 如果代码特定于特定的控制器视图,请为该控制器创建一个js文件并将其放入其中。如果您遵循js文件的命名约定,则很容易识别。对于文章控制器,请创建一个js as article.js

在性能方面,在rails 3.1中我们有asset pipeline压缩和打包js文件。在此之前,我们有许多可用的工具压缩和打包js文件。示例asset packager