Rails 3.1:从Lib导入Sass

时间:2011-11-07 02:25:18

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

我有一堆'bootstrap'sass文件,我想按照资产管道的新约定,粘贴在我的应用程序/lib目录中。

但是,我需要将这些导入我的application.css.scss而不是要求它们,因为我想在整个应用程序中共享一些颜色变量等。我无法找到让@import.scss抓取/lib/assets/stylesheets文件的方法。

有什么建议吗?

2 个答案:

答案 0 :(得分:10)

@import 查找位于资产加载路径中的所有.css.scss文件,无论是app/assets/stylesheetslib/assets/stylesheets,{{1 <},或者由宝石添加的任何其他路径,所以你收到错误很奇怪。

请注意,使用vendor/assets/stylesheets时无需传递文件夹名称,除非该文件位于@import的子目录中 - assets/stylesheets将查看加载路径中的每个文件夹并查看如果资源相对于那些文件夹存在。

要确保sass-rails在您的资产加载路径中(它应该是,因为它是默认选项),请打开Rails提示并键入lib/assets/stylesheets。例如,这是我的一个应用程序的结果:

Rails.application.config.assets.paths

同样值得确保ruby-1.9.3-p0 :012 > Rails.application.config.assets.paths => ["/Users/tom/ruby/qa/app/assets/images", "/Users/tom/ruby/qa/app/assets/javascripts", "/Users/tom/ruby/qa/app/assets/stylesheets", "/Users/tom/ruby/qa/lib/assets/stylesheets", "/Users/tom/ruby/qa/vendor/assets/javascripts", "/Users/tom/ruby/qa/vendor/assets/stylesheets", "/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.14/vendor/assets/javascripts", "/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/bootstrap-sass-1.4.0/vendor/assets/javascripts", "/Users/tom/.rvm/gems/ruby-1.9.3-p0/gems/bootstrap-sass-1.4.0/vendor/assets/stylesheets"] 是最新的并运行最新版本,因为我认为早期版本在跨文件夹sass-rails方面具有限制支持。

注意:我也相信会议建议像Bootstrap或jQuery这样的文件应该放在@import文件夹而不是vendor/assets

答案 1 :(得分:8)

我遇到了同样的问题,因为我在将文件添加到lib目录后忘记了重启服务器。