【问题标题】:include a JS file outside the asset pipeline in rails 3.1?在 rails 3.1 的资产管道之外包含一个 JS 文件?
【发布时间】:2011-12-12 12:17:17
【问题描述】:
我想在资产管道中包含一些 非 的 js 文件,我尝试包含 rails.root 和这些文件的完整路径,但这不是权限的工作原因。
我知道我可以在我的资产管道 JS application.js 中手动包含每个 JS 文件,但这将是很多工作,因为我的 JS 在开发过程中发生了很大变化,所以如果有办法包含它会很好资产管道外的 js 文件。
有人对我如何解决这个问题有一些建议吗?
【问题讨论】:
标签:
ruby-on-rails-3.1
include
asset-pipeline
【解决方案1】:
您可以将文件放在旧的 pre-3.1 位置 /public/javascripts 并手动链接到它。
【解决方案2】:
如果您不希望 Sprockets 处理您的资产,请将它们放入公共文件夹(不是 public/assets,这是编译资产所在的位置),然后您可以将它们作为静态资源访问,即不要使用 javascript_include_tag 辅助方法引用它们,但使用旧的 HTML 方法。
例如,我有一个 OpenLayers.js 文件不适用于资产管道,因此我将其添加到 public/javascripts 文件夹,然后在我的布局的标题中,我像这样链接到它:
<script src="/javascripts/OpenLayers.js"></script>
【解决方案3】:
据我所知,您仍然可以使用javascript_include_tag。
<%= javascript_include_tag "/javascripts/just_be_coo.js" %>
你只需要一个前导斜线。