2009/2/15 Mauro [email protected]:
[…]
Si pone pero’ il problema che l’oggetto supplier non e’ visibile
nell’action filter_category_in_ sector.
che importa? filter_category_on_sector deve solo mostrare le categorie
per un certo settore; sarà poi l’action del form (create, suppongo) a
ricevere tutti i dati. l’action dovrà fare qualcosa tipo:
@supplier = Supplier.create(params[:supplier])
sta invece al supplier stesso fare la cosa giusta, ovvero prendere,
dopo la creazione, i dati dell’attributo virtuale (ovvero gli id delle
categorie) e usarli per riempire categories.
se hai dubbi, prova semplicemente a loggare il contenuto di params
nell’action (logger.debug params.inspect), e dagli un’occhiata: vedrai
come vengono resi i campi del fields_for.
questa cosa degli attributi virtuali viene usata spesso: ad esempio,
molti plugin di autenticazione usano due attributi virtuali
sull’oggetto utente, con nomi tipo password e password_confirm, e
bloccano invece il mass assignment del vero campo password, così al
salvataggio controllano se password e password_confirm sono stati
assegnati, e se sì che siano uguali, e infine riempiono il vero campo
password (quello che sta sul db).