воскресенье, 4 июля 2010 г.

undefined method `each' Fixnum

Ошибка в passenger

Exception NoMethodError in application (undefined method `each' for 417322:Fixnum) (process 13490):
from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:100:in `process_request'
from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:96:in `each'
from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
from /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'


Оказывается число пассажир не может обработать
решается таким патчем


diff --git a/lib/phusion_passenger/rack/request_handler.rb b/lib/phusion_passenger/rack/request_handler.rb
index ad22dfa..2b6e60a 100644
--- a/lib/phusion_passenger/rack/request_handler.rb
+++ b/lib/phusion_passenger/rack/request_handler.rb
@@ -96,6 +96,8 @@ protected
headers.each do |key, values|
if values.is_a?(String)
values = values.split("\n")
+ elsif values.is_a?(Fixnum)
+ values = values.to_a
end
values.each do |value|
output.write("#{key}: #{value}#{CRLF}")

Комментариев нет: