2009-09-22 17 views
5

Sadece Ruby 1.9.1 ile güncelledim ve neredeyse tüm rspec'lerim bozuldu ve bana "donmuş nesneyi değiştiremez". Bir Rspec_controller oluşturucudan gelen Rspec örnek kodu bile başarısız olur.Ruby 1.9.1 rspec ile "donmuş nesneyi değiştiremez"

RuntimeError in 'DownloadsController should use DownloadsController' 
can't modify frozen object                                       
/usr/local/lib/ruby19/1.9.1/timeout.rb:44:in `timeout' 


Generated by the following code: 

it "should use DownloadsController" do 
    controller.should be_an_instance_of(DownloadsController) 
end 

Herkes yardımcı olabilir mi? Aşağıdaki ile

+0

Gönderebileceğiniz bir yığın iziniz var mı? –

+0

Ne yazık ki, yukarıdakiler dışında herhangi bir iz elde edemiyorum ... Hatta --trace – xto

cevap

0

deneyin açılış /usr/local/lib/ruby19/1.9.1/timeout.rb ve çizgi 44 değiştirin: bu garip gibi görünse de

begin 
    return yield(sec) if sec == nil or sec.zero? 
rescue => e 
    puts e.backtrace.join("\n") 
    raise e 
end 

, bazı durumlarda bu bana sorunun asıl kaynağa ilişkin ayrıntılı bilgiler verir saptadık. Sorunu nasıl düzeltebileceğinizi hâlâ bilmiyorsanız, sonuçlarınızı buraya yapıştırın ve sorunu çözmemize yardımcı olabilir.

6

Kullanmak Nil olan bir şey koymamaya çalışmıyorsunuz. 1.8 nil olarak

dondurulmuş değildi. Ancak yakutta 1.9 dondurulur.

+0

Girdi için Thhanks. Belki bu haftasonu deneyeceğim. Bir sözleşmeye gönderildim ve Rails projemi aldım. – xto

+0

bu kabul edilen cevap olmalıdır. – professormeowingtons