13

我想使用 jQuery 插件之类的 JavaScript 库。我是否使用 Rails 资产管道?或者我应该用 javascript_include_tag 包含它吗?我有哪些选择,推荐的做法是什么?

4

3 回答 3

31

您会只在几个页面上还是在整个应用程序中使用 JavaScript 库?如果您将在整个应用程序中使用它,请通过将资产管道添加到vendor/assets/javascripts文件夹来使用它。如果您计划在单个页面上使用该库,请使用javascript_include_tag.

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

  • 在app/assets/javascripts/文件夹中逻辑地组织您的站点范围的脚本。

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

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

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

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

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

对于特定于页面的 JavaScript,<%= yield(:head) %>请在​​应用程序布局和<% content_for :head ... %>视图中使用。

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

在 Rails 中包含外部 JavaScript 文件

于 2012-09-21T13:43:44.733 回答
3

在单个文件上访问 Javascriptjavascript_include_tag是最好的选择。

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

于 2014-08-06T07:50:01.177 回答
1

在哈姆

= javascript_include_tag "example"

加载文件assets/javascripts/example.js

于 2018-07-03T20:47:54.030 回答