Rails 3.1 Asset Pipeline清单文件不会获取javascripts

时间:2012-01-11 01:32:02

标签: ruby-on-rails-3.1 asset-pipeline

我在供应商/资产/ javascripts中有一整套javascripts。在我的app / assets / javascripts / application.js文件中,我有指令:

//= require_tree .

那只是引用当前的app / assets / javascripts目录,而不是lib / assets或vendor / assets吗?

如果我明确包含javascripts,它就有效。如果我不需要的话,我真的不想这样做。

是否有一些我遗漏的东西会让资产管道能够自动从app目录(lib和供应商)外部提供资产?

3 个答案:

答案 0 :(得分:5)

require_tree仅提取application.js文件下的资产。

lib/assetsvendor/assets已包含在管道的查找路径中(refer this code)。

您可以使用第二个清单包含这些销售文件。

转到vendor/assets/javascripts并创建一个名为misc_vendor.js

的文件

在里面添加了一个require_tree指令。

然后从application.js清单中引用该文件:

require misc_vendor

如果由于加载订单而出现任何问题,您可以按照所需的顺序手动要求供应商文件,而不是使用require_tree。

作为转换到管道的一部分,它可能是清理东西的好机会! : - )

答案 1 :(得分:1)

此外,您可以在没有第二个清单的情况下执行此操作:

//= require_tree ../../../vendor/assets/javascripts/.

该路径应该相对于'app / assets / javascripts / application.js'清单文件。

答案 2 :(得分:0)

您需要像这样在application.rb文件中扩展路径。

config.assets.paths << "#{Rails.root}/vendor/assets/some file name"

Refer this Guide for more details