Rails 3.1的发布版本在预编译带有扩展名scss
的sass清单文件时遇到了一些奇怪的问题。奇怪的是,默认清单文件application.scss
编译得很好,我在public/assets/
下看到它。
但是,当我尝试编译自定义清单文件时,不会创建任何内容。我在生产配置中启用了预编译选项。
config.assets.precompile += %w( user.scss admin.scss )
就我所知,我正在正确运行预编译rake任务。
rake assets:precompile RAILS_ENV=production
也许这会有所帮助。当我使用扩展名 css 而不是 scss 创建两个新的清单文件并且需要其中的原始scss文件时,这些新的清单文件将得到尊重并正确编译。为什么application.scss
得到这种特殊处理而不是其他sass清单文件?
答案 0 :(得分:27)
在预编译列表中包含已编译的文件名:
config.assets.precompile += %w( user.css admin.css )
此外,您可能希望重命名app/assets/stylesheets
中的原始文件,以在原始文件名中包含已编译的扩展名,以便清楚显示发生了什么:
user.scss -> user.css.scss
admin.scss -> admin.css.scss
答案 1 :(得分:-2)
我怀疑这可能是错误。
application
文件被视为默认项目的主文件。以.css和.js结尾的那个默认包含在预编译列表中。
您描述的行为(具有.css扩展名的清单)是正确的。