你如何指示Sprockets在Heroku上包含来自/ vendors / assets / components的文件?

时间:2013-10-23 16:11:22

标签: ruby-on-rails heroku ruby-on-rails-4 sprockets bower

我想使用Bower来管理客户端资产,这会将诸如angular之类的资源安装到

/vendors/assets/components/angular/angular.js

我在application.css.scss文件中引用这些资产,如下所示:

/* ...
*= require bootstrap
*/

然而,虽然这适用于开发并且文件包含在正常状态,但它们不会被链接器拾取以便在Heroku上进行编译。

如何指示Sprockets从/vendor/assets/components/获取和编译文件?

1 个答案:

答案 0 :(得分:5)

您应该能够告诉管道包含这样的额外目录:

config.assets.paths << Rails.root.join('vendor', 'assets', 'components')

您可能还需要告诉它预编译特定文件,因为只有主应用程序.js&amp; application.css默认是预编译的:

config.assets.precompile << %w( frontpage.css frontpage.js *.svg )

使用Heroku上的Rails 4,您需要添加12factorapp gem

最后,如果您使用的是Heroku,那么对于Rails 4,您需要添加以下Gem

group :production do
  gem 'rails_12factor'
end

See this question for more information