2009-11-14 55 views
0

我的環境:powerdns-上軌引發ArgumentError

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) 

回答

0

我被困在此,以及雖然我不能給你的問題的解釋,我可以告訴你,升級到稀土1.8.7修復了我。我猜測這是Ruby Rails 1.8.6的一個問題,它被rails補丁暴露出來,但這只是一個猜測。

順便說一句,如果你想看到鐵軌犯介紹了該錯誤「無法從一個Proc屈服」,去看看http://dev.rubyonrails.org/changeset/5163

希望有所幫助。

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