在Rails 3.1 App中使用Less

时间:2011-09-07 23:42:15

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 less

我刚刚将我的应用程序升级到最新版本的rails(3.1)并且我想将Twitter的Bootstrap集成到我的应用程序中但是它使用LESS而不是SASS,这是Rails 3.1默认使用的。

如何配置Rails以使用Less而不是Sass?

3 个答案:

答案 0 :(得分:23)

正如apneadiving指出的那样,Sprockets(Rails 3.1用于其资产管道)支持LESS。

要配置Rails应用程序以支持LESS,您可以将gem添加到Gemfile的资产组中:

group :assets do
  gem 'less'
end

然后,运行bundle install以获取less gem及其依赖项(顺便说一下,包括libv8 gem,并且可能需要一段时间才能安装)。

现在只需将.css.less扩展名与./app/assets/stylesheets目录中的样式表一起使用即可。请注意,如果LESS文件中存在任何语法错误,则不会收到任何有用的消息(这会使我绊倒一秒钟)。

答案 1 :(得分:18)

对于Rails 3.1,我们现在有@metaskill的less-rails gem,它提供了特定于Rails的助手等。这是相当新的,但似乎积极维护。

您也可以使用less-rails-bootstrap gem(由同一作者)来引入引导库。

gem 'less-rails'
gem 'less-rails-bootstrap'

另请参阅我的帖子here关于在Rails上使用Bootstrap及其mixins。

答案 2 :(得分:3)

非常直观,请参阅original doc here

  

没有造型

     

LESS使用动态行为扩展CSS,例如变量,mixins,   运作和功能。

     

如果您的应用程序可以使用less gem,则可以使用LESS   在Sprockets中编写CSS资产。请注意,编写了LESS编译器   在JavaScript中,在撰写本文时,宝石所依赖的越少   on therubyracer,它将V8 JavaScript运行时嵌入Ruby中。

     

要使用LESS编写CSS资源,请使用扩展名.css.less。