[ruby-it] update automatico di un campo.
Luca Mearelli
luca.mearelli a gmail.com
Ven 18 Dic 2009 09:55:42 CET
2009/12/17 Mauro <mrsanna1 a gmail.com>:
> I modelli in questione sono settori e categorie, in relazione uno a molti.
immagino quindi che
Category belongs_to :sector
Sector has_many :categories
> La categoria contiene un attributo codice che vorrei venisse
> valorizzato automaticamente col valore dell'attributo codice del
> settore.
quindi vuoi che sia sempre
category.code === category.sector.code
Se non hai esigenze particolari che ti portano a volere la
"denormalizzazione" del dato perche' non togli il campo code dalla
category ed deleghi il code al sector? (per sapere come si fa vedi ad
esempio quest'articolo recente di simone:
http://www.simonecarletti.com/blog/2009/12/inside-ruby-on-rails-delegate
)
> def create
> @category = Category.new(params[:category])
> @sectors = Sector.find(:all)
> @category.code = @sectors[params[:category][:sector_id].to_i]
ma qui assegni al code il sector e non il valore del suo campo code...
invece dell'ultima riga potresti fare (togliendo anche la Sector.find(:all)) :
@category.code = @category.sector.code
ciao,
Luca
More information about the Ml
mailing list