assets:precompile尝试编译sass partial而不应该编译

时间:2012-04-28 18:13:12

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

任何想法为什么Rails的资产:预编译会尝试编译一个sass部分_accounts.css.sass,当它没有在我的预编译列表中列出?

application.rb中

config.assets.enabled = true
config.assets.initialize_on_precompile = true

config.assets.precompile += ['*.js', 'controllers/*.js', 'controllers/admin/*.js', 'controllers/shared/*.js', '*.coffee', 'application.css.sass', '*.css', '*.png', '*.jpg', '*.scss.erb']

_accounts.css.sass仅包含在application.css.sass中,其中包含:

@import "account"

错误是:

Undefined mixin 'column'. (in _account.css.sass)

...因为它使用指南针,但application.css.sass在导入_accounts.css.sass之前导入指南针,因此部分不需要导入指南针。

1 个答案:

答案 0 :(得分:2)

要预编译的事物列表中的文件名/模式不是指要预编译的事物的文件名。相反,它们引用预编译的结果,即要求预编译'* .css'意味着预编译任何如果编译将导致.css文件。特别是,像_account文件这样的.css.sass文件将被预编译。