Rails 无故编译 sass 部分

Rails compiles sass partials without any reason

我正在构建一个 Rails 应用程序,我在生产中遇到了一个奇怪的问题:当 capistrano 编译资产时 Rails 想要创建一个 css 版本的所有部分我包含在 application.sass 中,由于我在此部分中使用的变量和混合,它破坏了部署。

在我的application.sass中:

@import compass
@import header // _header.sass file  
@import footer // _footer.sass file  
@import content // _content.sass file  
...  

我不明白为什么,因为在另一个项目中我没有这个问题。

这是我的 assets.rb 文件:

Rails.application.config.assets.version = '1.2'
Rails.application.config.assets.precompile += %w( email.css newsletter.css maintenance.css noscript.css )

有谁知道如何告诉 Rails 不要编译 css 文件中的所有部分? 感谢您的帮助!

我的申请:
- gem 'rails', '4.2.5'
- gem 'sass-rails', '~> 5.0'
- gem 'compass-rails', github: 'Compass/compass-rails', 分支: 'master'
- gem 'capistrano', '~> 3.1'
- gem 'spring', '~> 1.3.4'

在网上花了几个小时,我终于发现了罪魁祸首:Froala gem

通过查看插件的源代码和预编译资产列表,他们有一个名为 'plugins' 的文件夹,该文件夹与个人文件夹同名。这意味着我的带有 sass 部分的插件文件夹也被编译了!修复它的方法是重命名我自己的 'plugin' 文件夹。