Precompiling a .scss manifest file using Rails 3.1

2019-02-06 04:36发布

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?

2条回答
▲ chillily
2楼-- · 2019-02-06 04:38

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
查看更多
我只想做你的唯一
3楼-- · 2019-02-06 05:00

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.

查看更多
登录 后发表回答