[ruby-it] modificare un record da controller diversi

Andrea Campi andrea.campi a zephirworks.com
Lun 9 Feb 2009 09:46:34 CET


On 2/8/09 6:15 PM, Paolo Montrasio wrote:
> Mammaorsa Dj wrote:
>    
>> def inizia_odp
>>    @ciclo = Ciclo.find(:first, :conditions =>  ["odp like ?",
>> params[:ciclo_officina]])
>>    @ciclo.iniziato = Date::today
>>
>>   end
>>
>> PROBLEMA: tornando alla home page contenente l'elenco di tutti i cicli
>> in produzione, la riga corrispondente al ciclo appena modificato riporta
>> il campo "data_inizio" vuota.
>>      
>
> La soluzione è semplice: devi ricordarti di salvare il record
> modificato, ad esempio con @ciclo.save
>
> Nella view infatti vedi il record aggiornato perché hai modificato la
> copia caricata in memoria (@ciclo), ma Rails non salva automaticamente
> le modifiche che fai ai dati.
>    
Quando l'operazione è così semplice trovo molto comodo anche usare la 
update_attribute(s):

@ciclo.update_attribute(:iniziato, Date.today)

Andrea


More information about the Ml mailing list