我的环境:
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)当我使用passenger时:
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)发布于 2010-10-19 21:49:21
我也有同样的问题,但是我的ruby已经是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发布于 2010-05-27 05:07:21
我也被困在这个问题上,虽然我不能给你一个问题的解释,但我可以告诉你,升级到REE 1.8.7为我解决了这个问题。我猜这是rails补丁暴露出来的ruby 1.8.6的一些问题,但这只是一个猜测。
顺便说一句,如果您想看到rails提交引入了"Can‘t you from a Proc“错误,那么可以去看看http://dev.rubyonrails.org/changeset/5163
希望这能有所帮助。
https://stackoverflow.com/questions/1732976
复制相似问题