简体   繁体   中英

Precompiling a .scss manifest file using Rails 3.1's asset pipeline

The release version of Rails 3.1 is having some weird issues with precompiling a sass manifest file with the extension scss . The weird thing is that the default manifest file application.scss compiles fine and I see it under public/assets/ .

However when I try to compile my custom manifest files, nothing is created. I have enabled the precompile option in the production config.

config.assets.precompile += %w( user.scss admin.scss )

I am running the precompile rake task correctly as far a I know.

rake assets:precompile RAILS_ENV=production

And maybe this helps. When I create two new manifest files with the extension css instead of scss and require the original scss files in them, then these new manifest files are honored and properly compiled. Why does application.scss get this special treatment and not other sass manifest files?

Include the compiled filenames in your precompile list:

config.assets.precompile += %w( user.css admin.css )

Also, you may want to to rename the original files in app/assets/stylesheets to include the compiled extension in the original filenames so it's clear what is going on:

user.scss -> user.css.scss
admin.scss -> admin.css.scss

I suspect it might be bug.

The application files are treated as the main files for a default project. The one ending in .css and .js are included in the precompile list by default.

The behavior you describe (manifests having a .css extension) is the correct one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM