2011-11-07 9 views
6

アセットパイプラインの新しい規則に従い、私のアプリケーション/libディレクトリに張りたいと思っているたくさんの 'bootstrap' sassファイルがあります。Rails 3.1:LibからのSassインポート

しかし、アプリ全体でいくつかの色の変数などを共有したいので、これらを必要とするのではなく、application.css.scssにインポートする必要があります。私は/lib/assets/stylesheetsから.scssファイルを取得するために@importを取得する方法を見つけることができませんでした。

提案がありますか?

答えて

10

@import、あなたの資産のロードパスにあるすべての.css.scssファイルを探し、それはapp/assets/stylesheetslib/assets/stylesheetsvendor/assets/stylesheetsであること、または宝石で追加された追加のパス、あなたがエラーを取得していることを奇妙だはずです。ファイルは、assets/stylesheetsのサブディレクトリにある場合を除き、あなたが@importを使用するときにフォルダ名を渡す必要はありません

注 - sass-railsはあなたのロードパス上のすべてのフォルダに目を通すと、リソースがそれらのフォルダへの相対存在するかどうかを確認します。

lib/assets/stylesheetsが資産ロードパスにあることを確認するには(デフォルトのオプションであるため)、Railsプロンプトを開き、Rails.application.config.assets.pathsと入力します。例として、ここでは私のアプリケーションのいずれかの結果だ:私は信じてそれがまたsass-railsが最新であることを確実にすることと、最新バージョンを実行している価値がある

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"] 

が、以来、初期のバージョンは、クロスフォルダの面で制限をサポートしていました@import

NB:私はまた、大会は、ブートストラップやjQueryのなどのファイルではなくlib/assets

+0

助けてくれてありがとう、私はそれを働かせた。私はちょうどどこかのタイプミスがあったに違いない。 FWIW問題のブートストラップファイルは私が新しいアプリケーションを起動するのに使う私自身のカスタム作成なので、 "ベンダー"(公的ディストリビューション)ではなく "lib"(自分のアプリケーション間で共有)のように思える。 – Andrew

+0

ええ、それは意味をなさないでしょう、私はちょうど私の答えの昨日のあなたのコメントとあなたの質問の間に点に参加しました、あなたはTwitterのブートストラップのいくつかのバージョンを使用していたと思った、その場合、私の脚注を無視し、 'lib'は間違いなく正しいplace – nobody

+0

Oh ... :)あなたの答えに対する私のコメントの主な理由は、資産パイプラインを利用する宝石に作られたブートストラップの例を見つけることができてとても嬉しかったです。私はいつも私のカスタムブートストラップを宝石に引き出したいと思っています。あなたのことはそれをどうやって行うのかについての素晴らしい参考資料です。今のところlibに移動するだけでよいクリーンアップです。再度、感謝します! – Andrew

8

よりも、あなたのvendor/assetsフォルダに行くべき示唆私は同じ問題を抱えていた、と私は後に再起動し、サーバーを忘れてしまったので、それがあったと信じていますlibディレクトリにファイルを追加します。

+1

Doh。これを忘れることは何回ですか? (あまりにも多い) –

+1

うん、それはそれをした – Yarin

関連する問題