Rails - Sass - 1p * x不是有效的CSS值

时间:2012-04-17 16:24:40

标签: ruby-on-rails sass

我在使用Sass / Css的Rails中遇到了一个奇怪的错误:

“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;
}

[结束编辑]

我也有一些“错误的参数数量(4对1)”问题......但是,昨天一切正常......这就像我的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

提前感谢您花时间帮助我。 :)

1 个答案:

答案 0 :(得分:1)

好的,我发现问题是什么...... Pfiew,这很难找到...

我必须创建一个全新的项目,逐个文件地添加我破碎的代码,并通过Rails服务器跟踪问题的发生。

所以我发现删除这个文件: /config/initializers/custom_libraries.rb

正在解决这个问题。此文件只有一行:需要'\ text / string'

所以问题必须来自我的自定义字符串方法。

是的,确实如此。我在字符串类中添加了“to_a”(to_array)方法,因为本机Ruby字符串类没有此方法。方法是:

def to_a
  return self.chars.to_a
end

所以评论这个方法解决了我的CSS问题。我想sass-rails gem或CSS相关的已经创建了这个方法,并将它用于编译或其他CSS的东西,我的“to_a”字符串方法肯定搞砸了。但我只是猜测......

当然,Rails错误根本没有帮助。有谁知道我怎么能更快地找到这个问题?也许推荐一个特定的调试工具?

我将从这个不幸的事件中学习:永远不要为特定的Ruby类创建自己的方法,其名称与其他Ruby类方法过于相似。