私はSass:Script :: Functionsモジュールを拡張しようとしています。これは、この勧告に従って:https://gist.github.com/481261/dd07a52829886ab1ad0875a8895f0100c4b925abです。問題は、どこにsass-hex.rbファイルを置くのですか?モジュール拡張モジュールをロードするために何かする必要がありますか? config /にファイルを置こうとしましたが、ロードされていないようです。レールコンソールにアクセスして、Sass :: Script :: Functions :: hexと入力すると、「NoMethodError:Sass :: Script :: Functions:Moduleのための未定義のメソッド `hex」が得られます。拡張機能をSass :: Script :: Functionsモジュールにロードするにはどうしたらいいですか?
私はRailsが新しく、答えは非常に明白で些細なものかもしれません。たぶんSass :: Script :: Functionsを拡張することについて話しているサイトのどれも、あなたのコードに拡張機能を実際に接続する方法については何の言及もありません。これは公式のドキュメントですが、この点では役に立ちません:http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#adding_custom_functions。
UPDATE:だから
、私は "DEF進..." と "DEF self.hex ..." からメソッドの定義を変更し、現在サス::スクリプト:: Functions.hexで動作します。誰も何も示唆しなかったので、私はまだ何かが欠けていると感じています。上記の例でメソッドを間違って呼び出すのですか?
また、問題は、私が使っているCSSファイルから「hex」メソッドが全く呼び出されないということです。
LAST UPDATE:(私の場合は、compass.rbファイル内)config /ディレクトリに置いてくださいコードを:
ソリューションは、実際に私が最初にやったことをやっていました。
私が捕まってしまった、それは私のために動作しませんでしたと思った2つの理由があります。
- サスは::スクリプト::機能::進がなぜわからない...コンソールから起動することができません、私は物事を正しく整えれば、私はそれをそのようにテストすることができると仮定して間違っていた。
- 私はたくさんのことを試していたので、おそらくconfig/compass.rbファイルの中に16進数の機能を持たせ、.cssファイルから呼び出して、そしてレールサーバーを再起動するという正しい組み合わせはなかったでしょう。
時間の本当の無駄 - 私は、これは他の人がそれを回避するのに役立ちます願っています...
スコット、答えに感謝します。私が見逃していることは、あなたにはっきりと聞こえるものがいくつかあると思います。a)「フォルダがロードパスにあることを確認する」方法は? b)どのファイルにsass-hex.rb 'が必要ですか? –
Hey Scott、いつも '.rb'ファイルが必要ですか?それはちょっと変だけど、それをルビに含めるべきだし、関数をSassの中に呼ぶはずだから...どうしたの? –
これは、私がRubyを介して修正を実装する必要があった問題の正しい方向を指摘しました。ありがとうございました! –