2011-09-06 153 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 –

相關問題