2011-09-06 128 views

回答

-1

只要把你的yourlessfile.less文件到public/stylesheets,那么在您看来,并附

stylesheet_link_tag "/stylesheets/yourlessfile.less", :rel => "stylesheet/less" 

别忘了在您的视图less.js。

+0

不同的方法当然可以,这是一个干净而简单的解决方案的讨论,但较少的文件不走通资产管道。我希望它被链轮处理,并与其余部分一起压缩... – Sucrenoir

+0

这是问题标题的一个很好的答案,但不是问题的详细信息。搜索谁看到标题的人很方便。 –

10

如果您只想使用引导程序,您可以通过在GemFile中包含'less-rails'和'less-rails-bootstrap'gem来实现。

然后,你可以在你.css.less文件@import引导:

@import "twitter/bootstrap" 

或者,您可以包括每个组成单独的文件(不包括那些你不想要的):

// Reset 
@import "twitter/bootstrap/reset"; 

// Core variables and mixins 
@import "twitter/bootstrap/variables"; 

@import "twitter/bootstrap/mixins"; 

// Grid system and page structure 
@import "twitter/bootstrap/scaffolding"; 

// Styled patterns and elements 
@import "twitter/bootstrap/type"; 
@import "twitter/bootstrap/forms"; 
@import "twitter/bootstrap/tables"; 
@import "twitter/bootstrap/patterns"; 

如果您不希望使用less-rails-bootstrap gem出于任何原因,或者您要包含非bootstrap .less文件,则需要手动将less路径添加到less-rails配置。请注意,如果您的文件名以.css.less结尾,则无需额外的工作,因为asset-pipeline应该为您处理该编译(只要您包含'less-rails')。只有在您的应用程序的.css.less文件中直接引用外部.less文件时才需要执行此过程。

我用于引导的安装程序是将* .less文件复制到vendor/assets/frameworks/twitter/bootstrap。保留vendor/assets/stylesheets/...中的文件引起了一些问题,可能是由于Rails魔术将我的导入解析为未处理的无文件文件并且不知道如何处理它们(这只是我的猜测,我没有充分考虑它) 。

一旦你的项目中有.less文件,你需要告诉less-rails在哪里找到它们。通过将以下内容放入您的application.rb中来实现这一点。

YourApp::Application.configure do 
    config.less.paths << File.join(Rails.root,'vendor','frameworks') 
    # Should be set to true in production. 
    config.less.compress = false 
end 

你可以将它们导入.css。减档利用:

@import "twitter/bootstrap/reset" 
@import "twitter/bootstrap/variables" 
... 
+0

我用你的第二种方法,它绝对有效!谢谢@billmag –

相关问题