2012-04-17 3 views
2

ではありません私はサス/ CSSを使用して、レールに奇妙なエラーを持っている:レール - サスは - 1Pの* xが有効なCSS値

は「1Pの* xは有効なCSS値ではありません。」

アプリ/資産/スタイルシート/共有/ form.css.scss:

アプリケーショントレースは、それがから来ていると言う19

しかし、私のファイルには、この行は次のようになります。

"入力{@include all_borders(1px、solid、red);}"

pとxの間に "*"を追加するようなものです。そして、それは他の行のロットでも同じ問題を抱えています。そして...エラーが出てきました。私は設定ファイルで何も変更していませんでした。唯一のことはバンドルアップデートを使って私の宝石を更新することでした。

[編集] MIXINコード:

@mixin all_borders($strength: 1px, $type: solid, $color: black){ 
    border: $strength $type $color; 
} 

[終了編集]

私もいくつかの "引数の数が間違って(1 4)" の問題を持っている...しかし、もう一度、すべてうまくいった昨日...それは私のscssファイルのプリコンパイルで何かが間違っているようです...私はプリコンパイルしようとしたときに同じ問題があります。

誰か手掛かりがありますか?私は何をすべきかわからない...

私はRuby 1.9.3、Rails 3.2.3、sass 3.1.15、sass-rails 3.2.5を使用しています。 application.rb & development.rbファイル:

development.rb config.cache_classes = falseを

config.whiny_nils = true 

config.consider_all_requests_local  = true 
config.action_controller.perform_caching = false 

config.action_mailer.raise_delivery_errors = true 

config.active_support.deprecation = :log 

config.action_dispatch.best_standards_support = :builtin 

config.active_record.mass_assignment_sanitizer = :strict 

config.active_record.auto_explain_threshold_in_seconds = 0.5 

config.assets.compress = false 
config.serve_static_assets = false 

config.assets.debug = true 

application.rb

require File.expand_path('../boot', __FILE__) 

require 'rails/all' 

if defined?(Bundler) 
    Bundler.require(*Rails.groups(:assets => %w(development test))) 
end 

module MySite 
    class Application < Rails::Application 
    config.autoload_paths += %W(#{config.root}/lib) 

    config.encoding = "utf-8" 

    config.assets.enabled = true 
    config.assets.initialize_on_precompile = false 

    config.assets.version = '1.0' 

    end 
end 

私を助けるために時間を割いてくれて事前に感謝します。 :)

+0

'all_borders'はあなたが定義したミックスインですか? Sassファイルを直接コンパイルしようとするとどうなりますか? ( ':trace_selectors'オプションが役に立つでしょう)。 – steveax

+0

はい、それは私が定義したミックスインです。しかし、エラーは「マージン」などの共通プロパティでも発生します。 Sassファイルのコンパイルはうまくいきます。このコマンドを実行すると、sass --watch input.scss:output.cssを起動したときにエラーが表示されず、生成されたcssファイルの行に "*"が追加されませんRailsはこの問題を指摘しています。 – Kulgar

+0

実際のmixinからコードを投稿できますか?それはおそらくそれにweavilを持っている – stephenmurdoch

答えて

1

オーケーに私は私の壊れた1のコードを追加し、私は全く新しいプロジェクトを作成する必要がありました

...それは見つけるために厳しいものだった、問題が何だったか... Pfiewましたファイルごとにファイルを作成し、Railsサーバーによって問題の発生を追跡します。

だから私は、このファイルを削除することを発見: /config/initializers/custom_libraries.rb

しても問題が解決されました。このファイルには1行しかありませんでした。'ext/string'が必要です

この問題は私のカスタム文字列メソッドから来ていました。

はい、そうでした。ネイティブのRuby文字列クラスにはこのメソッドがないため、文字列クラスに "to_a"(to_array)メソッドを追加しました。方法は:

def to_a 
    return self.chars.to_a 
end 

私のCSSの問題を解決しました。私はsass-rails gemやCSS関連のものがすでにこのメソッドを作成していて、コンパイルや他のCSSや "to_a"文字列メソッドで使用していると確信しています。しかし、私は推測しているだけです...

確かに、Railsのエラーはこれを見つけるために全く役に立たなかった。誰かがどのようにして問題をより早く見つけたのか知っていますか?たぶん特定のデバッグツールをお勧めしますか?

私はこの不運から学びます:他のRubyクラスのメソッドとあまりにも似ている特定のRubyクラスの独自のメソッドを作成することは決してありません。

関連する問題