【问题标题】:Sinatra, MongoMapper, and Builder wrong number of arguments (1 for 0)Sinatra、MongoMapper 和 Builder 参数数量错误(1 代表 0)
【发布时间】:2011-01-26 23:37:21
【问题描述】:

从 sinatra 路由调用构建器模板时出现此错误:

参数数量错误(1 比 0)

西纳特拉 - 1.1.2

生成器 - 3.0.0

MongoMapper - 0.8.6

这样称呼它:

get '/current_load.xml' do
  @caption = "Load Average"
  @sub_caption = "5 minutes"

  @time = Performance.where(:NAGIOS_SERVICEDESC => "Current Load").fields(:NAGIOS_LONGDATETIME).all

  content_type :xml
  builder :current_load
end

构建器文件开始如下:

xml.instruct!

这是错误的完整跟踪:

ArgumentError - wrong number of arguments (1 for 0):
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlbase.rb:135:in `to_xs'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlbase.rb:135:in `_escape'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlbase.rb:140:in `_escape_quote'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlmarkup.rb:320:in `_attr_value'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlmarkup.rb:308:in `_insert_attributes'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlmarkup.rb:306:in `each'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlmarkup.rb:306:in `_insert_attributes'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlmarkup.rb:284:in `_special'
 /usr/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlmarkup.rb:250:in `instruct!'
 /opt/nec/www/nec/views/current_load.builder:1:in `evaluate_source'

如果我将 Builder 更改为 2.1.2,我不会收到任何错误 或者 如果我把 MongoMapper 拿出来,我不会收到任何错误

听起来像是两个宝石之间的问题??

【问题讨论】:

  • 我今天才知道,Sinatra 1.1.3 出来了,我要仔细检查这段代码,看看它是否仍然失败..

标签: ruby sinatra gem builder mongomapper


【解决方案1】:

Sinatra 1.1.3 成功修复了这个错误。

这是环境的唯一变化

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    相关资源
    最近更新 更多