Potrebbe dirmi qual è la procedura migliore per creare has_one relations?Rails: best-practice: come creare relazioni has_one dipendenti
f.e. se ho un modello utente, e deve avere un profilo ...
Come potrei farlo?
Una soluzione potrebbe essere:
# user.rb
class User << ActiveRecord::Base
after_create :set_default_association
def set_default_association
self.create_profile
end
end
Ma quello non sembrano molto pulito ... Qualsiasi suggerisce?
+1 per la conoscenza della convalida del bambino. – PeterWong
Potrebbe anche essere gestito con una singola linea? -> before_filter: build_profile? – Lichtamberg
@Lichtamberg: Sì, ma aggiungerei un commento: "Crea un profilo predefinito, DEVE sempre convalidare". NOTA: sarebbe "before_create: build_profile" non "before_filter". Se non si convalida, si otterrebbe un messaggio di errore molto confuso all'utente. O NON verrebbe infatti creato, il che significherebbe che si finirebbe con un utente senza un profilo. Dovresti anche testare i casi d'angolo nei tuoi test. –