2009-09-22 9 views
5

Ho appena aggiornato a Ruby 1.9.1 e quasi tutti i miei rspec sono stati interrotti dandomi un "impossibile modificare l'oggetto congelato". Anche il codice di esempio Rspec da un controller rspec non riesce.Ruby 1.9.1 con rspec "non può modificare l'oggetto congelato"

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 

Qualcuno può aiutare?

+0

Hai una traccia di stack che puoi pubblicare? –

+0

Sfortunatamente, non riesco a ottenere alcuna traccia eccetto quanto sopra ... Anche con --trace – xto

risposta

0

provare ad aprire /usr/local/lib/ruby19/1.9.1/timeout.rb e sostituire la linea 44 con il seguente:

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

Anche se questo sembra strano, in alcuni casi, ho trovato che questo mi dà informazioni più dettagliate sulla fonte effettiva del problema. Se ancora non sai come risolvere il problema, incolla qui i tuoi risultati e forse ci aiuterà a rintracciare il problema.

6

Si sta utilizzando che non si sta tentando di eliminare qualcosa che è nullo.

In 1,8 nil non è stato congelato. È comunque congelato nel rubino 1.9.

+0

Thhanks per l'input. Ci proverò forse questo fine settimana. Mi è stato inviato un contratto e ho ritirato il mio progetto Rails. – xto

+0

questa dovrebbe essere la risposta accettata. – professormeowingtons

Problemi correlati