Rails:包括外部JavaScript

Rails:包括外部JavaScript,javascript,ruby-on-rails,ruby-on-rails-3,asset-pipeline,Javascript,Ruby On Rails,Ruby On Rails 3,Asset Pipeline,我想使用一个JavaScript库,比如jQuery插件。我是否使用Rails资产管道?或者我应该将其包含在javascript_include_标记中?我的选项是什么?推荐的做法是什么?您是否只在几页或整个应用程序中使用JavaScript库?如果要在整个应用程序中使用它,请通过将其添加到vendor/assets/javascripts文件夹来使用资产管道。如果您计划在单个页面上使用该库,请使用javascript\u include\u标记 以下是指导您在Rails中使用JavaScrip

我想使用一个JavaScript库,比如jQuery插件。我是否使用Rails资产管道?或者我应该将其包含在javascript_include_标记中?我的选项是什么?推荐的做法是什么?

您是否只在几页或整个应用程序中使用JavaScript库?如果要在整个应用程序中使用它,请通过将其添加到vendor/assets/javascripts文件夹来使用资产管道。如果您计划在单个页面上使用该库,请使用
javascript\u include\u标记

以下是指导您在Rails中使用JavaScript的经验法则:

  • 在app/assets/javascripts/文件夹中以逻辑方式组织站点范围的脚本

  • 将外部JavaScript库(如jQuery插件)复制到vendor/assets/javascripts文件夹

  • 在app/assets/javascripts/application.js清单中列出站点范围的脚本

  • 让Rails资产管道将它们合并到一个最小化的application.js文件中

  • 对于在很少访问的几个页面上使用的脚本,请加载为页面特定的JavaScript

  • 将特定于页面的JavaScript放在lib/assets/javascripts文件夹中

对于特定于页面的JavaScript,在应用程序布局中使用
,在视图中使用

有关所有详细信息的完整解释,请参阅我的文章:


要在单个文件上访问Javascript,
Javascript\u include\u标记
是最好的选择

有了它,您可以做的就是将“
Rails.application.config.assets.precompile+=%w(yourfilename.js)
”添加到您的“
config/initializers/assets.rb
”文件中。

在Haml中

= javascript_include_tag "example"

要加载文件
assets/javascripts/example.js

特定于页面的js应该放在app/assets/中,使用与视图相同的目录结构组织。lib/通常用于跨应用程序共享的资产