Rails资产管道 - 不预编译子目录

时间:2013-02-28 11:34:39

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

在资产/样式表和资产/ javascripts中,我有一个名为admin的文件夹,它有一些适当的Coffeescript和SASS文件。

$ cat app/assets/javascripts/admin.js 
//= require jquery
//= require jquery_ujs
//= require_tree ./admin

$ cat app/assets/stylesheets/admin.css 
/*
*= require_self
*= require_tree ./admin
*/

$ cat config/application.rb | grep 'assets.paths'
config.assets.paths << "#{Rails.root}/app/assets/stylesheets/admin"
config.assets.paths << "#{Rails.root}/app/assets/javascripts/admin"

预编制后,管理文件夹(及其内容)在公共/资产中无处可见。

我可能在这里犯了一个根本性的错误;除了图像,application.js等基础知识之外,我几乎没有使用过管道。

有谁可以指出我做错了什么?

1 个答案:

答案 0 :(得分:2)

从我所看到的,他们是清单。默认情况下,只预编译application.css和application.js。需要添加其他需求。

您需要将它们添加到production.rb环境中,如下所示(注释来自文件本身):

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w( admin.css admin.js )

此外,您可以放弃application.rb中的config.assets.paths,因为默认情况下会加载这些路径。