each_with_index dziwne zachowanie

Kod, który nie działa (debugger omija blok, dane w bazie nie są zmieniane):

order = params[:records_list] order.each_with_index do |id, position| Record.find(id).update_attribute(:position, position) end
Kod, który działa:

params[:records_list].each_with_index do |id, position| Record.find(id).update_attribute(:position, position) end
Czym różnią się te dwie metody?
Czy kryje się za tym jakaś właściwość języka, o której nie mam jeszcze zielonego pojęcia? :wink:

Nie widzę różnicy, ale proponuję się przespać i spróbować jutro jeszcze raz. Czasem tak jest, że myślimy sobie “to musi działać”, a jednak błąd jest po naszej stronie. Proponuję też zdebugować i po prostu podglądnąć wartości parametrów, czy rzeczywiście są takie jak powinny być.

Było debugowane:
Netbeans 6.0 + mongrel
Wartości zmiennych były prawidłowe, fragment kodu uruchomiłem w konsoli irb, gdzie o dziwo wszystko działało dobrze.