我想使用 jQuery 插件之类的 JavaScript 库。我是否使用 Rails 资产管道?或者我应该用 javascript_include_tag 包含它吗?我有哪些选择,推荐的做法是什么?
3 回答
您会只在几个页面上还是在整个应用程序中使用 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 ... %>
视图中使用。
有关所有详细信息的完整说明,请参阅我的文章:
在单个文件上访问 Javascriptjavascript_include_tag
是最好的选择。
有了这个,你可以做的就是将 ' Rails.application.config.assets.precompile += %w( yourfilename.js )
' 添加到你的 ' config/initializers/assets.rb
' 文件中。
在哈姆
= javascript_include_tag "example"
加载文件assets/javascripts/example.js