ruby-on-rails – Rails 3.1:从Lib导入Sass

我有一堆’bootstrap’sass文件,我想按照资产管道的新约定,粘贴在我的applications / lib目录中.

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

有什么建议?

解决方法

@import应该查找位于资产加载路径中的任何.css.scss文件,无论是在app / assets / stylesheets,lib / assets / stylesheets,vendor / assets / stylesheets,还是由gem添加的任何其他路径,所以它很奇怪你收到了错误.

请注意,在使用@import时不需要传递文件名称,除非该文件位于assets / stylesheets的子目录中 – sass-rails将查看加载路径上的每个文件夹,并查看相对于这些文件夹的资源是否存在.

要确保lib / assets / stylesheets位于资产加载路径中(它应该是,因为它是认选项),请打开Rails提示并键入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是最新的并运行最新版本,因为我认为早期版本在跨文件夹@import方面有限制支持.

N.B:我也相信会议建议像Bootstrap或jQuery这样的文件应该放在你的vendor / assets文件夹而不是lib / assets

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...