powerdns-on-rails ArgumentError

时间:2009-11-14 02:04:39

标签: ruby-on-rails ruby dns

我的环境:

CentOS 5
ruby 1.8.6 (2008-08-11 patchlevel 287) [x86_64-linux]
Ruby Enterprise Edition 20090610
passneger or webrick

我使用这个宝石列表。

*** LOCAL GEMS ***
actionmailer (2.3.2, 2.2.2)
actionpack (2.3.2, 2.2.2)
activerecord (2.3.2, 2.2.2)
activeresource (2.3.2, 2.2.2)
activesupport (2.3.2, 2.2.2)
fastthread (1.0.7)
haml (2.2.13)
mysql (2.7)
passenger (2.2.2)
rack (1.0.0)
rails (2.3.2, 2.2.2)
rake (0.8.7)
rmagick (2.9.2)
sqlite3-ruby (1.2.4)
will_paginate (2.2.2)

这是错误消息。我不知道怎么解决它。请帮帮我。

当我使用webrick时:

Processing DashboardController#index (for 114.204.152.246 at 2009-11-14 10:52:57) [GET]

ArgumentError (Cannot yield from a Proc type filter. The Proc must take two arguments and execute #call on the second argument.):
  haml (2.2.5) [v] rails/./lib/sass/plugin/rails.rb:19:in `process'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:162:in `start'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:95:in `start'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:92:in `each'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:92:in `start'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:23:in `start'
  /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/1.8/webrick/server.rb:82:in `start'

Rendering /var/rails/powerdns-on-rails/public/500.html (500 Internal Server Error)

当我使用乘客时:

Processing DashboardController#index (for 114.204.152.246 at 2009-11-14 10:22:50) [GET]

ArgumentError (Cannot yield from a Proc type filter. The Proc must take two arguments and execute #call on the second argument.):
  haml (2.2.5) [v] rails/./lib/sass/plugin/rails.rb:19:in `process'
  passenger (2.2.2) lib/phusion_passenger/rack/request_handler.rb:81:in `process_request'
  passenger (2.2.2) lib/phusion_passenger/abstract_request_handler.rb:203:in `main_loop'
  passenger (2.2.2) lib/phusion_passenger/railz/application_spawner.rb:340:in `start_request_handler'
  passenger (2.2.2) lib/phusion_passenger/railz/application_spawner.rb:298:in `handle_spawn_application'
  passenger (2.2.2) lib/phusion_passenger/utils.rb:181:in `safe_fork'
  passenger (2.2.2) lib/phusion_passenger/railz/application_spawner.rb:296:in `handle_spawn_application'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:337:in `__send__'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:337:in `main_loop'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:187:in `start_synchronously'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:154:in `start'
  passenger (2.2.2) lib/phusion_passenger/railz/application_spawner.rb:192:in `start'
  passenger (2.2.2) lib/phusion_passenger/spawn_manager.rb:257:in `spawn_rails_application'
  passenger (2.2.2) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
  passenger (2.2.2) lib/phusion_passenger/spawn_manager.rb:251:in `spawn_rails_application'
  passenger (2.2.2) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
  passenger (2.2.2) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  passenger (2.2.2) lib/phusion_passenger/spawn_manager.rb:250:in `spawn_rails_application'
  passenger (2.2.2) lib/phusion_passenger/spawn_manager.rb:153:in `spawn_application'
  passenger (2.2.2) lib/phusion_passenger/spawn_manager.rb:282:in `handle_spawn_application'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:337:in `__send__'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:337:in `main_loop'
  passenger (2.2.2) lib/phusion_passenger/abstract_server.rb:187:in `start_synchronously'

Rendering /var/rails/powerdns-on-rails/public/500.html (500 Internal Server Error)

2 个答案:

答案 0 :(得分:1)

我有同样的问题,但我的红宝石已经是1.8.7了。 好的,请查看这篇文章http://citizen428.net/archives/846, 我的解决方案是

after_save :callback

define_method :callback do
    # do something
end

更改为

after_save :callback

def callback do
    # do something
end

答案 1 :(得分:0)

我也被困在这上面,虽然我无法解释这个问题,但我可以告诉你升级到REE 1.8.7为我修好了。我猜这是ruby 1.8.6的一些问题,这是由rails补丁公开的,但这只是猜测。

顺便说一下,如果你想看到导致“无法从proc产生”错误的rails提交,请看看http://dev.rubyonrails.org/changeset/5163

希望有所帮助。