Pourriez-vous me dire quelle est la meilleure pratique pour créer des relations has_one?Rails - Best-Practice: Comment créer des relations dépendantes has_one
f.e. si j'ai un modèle d'utilisateur, et il doit avoir un profil ...
Comment pourrais-je accomplir cela?
Une solution serait:
# user.rb
class User << ActiveRecord::Base
after_create :set_default_association
def set_default_association
self.create_profile
end
end
Mais cela ne marche pas sembler très propre ... Tout suggère?
+1 pour connaître la validation des enfants. – PeterWong
Est-ce que cela pourrait aussi être géré avec une seule ligne? -> before_filter: build_profile? – Lichtamberg
@Lichtamberg: Oui, mais j'ajouterais un commentaire: "Construit le profil par défaut, DOIT toujours valider." NOTE: ce serait "before_create: build_profile" et non "before_filter". Si elle ne valait pas, vous obtiendriez une erreur très confuse msg à l'utilisateur. Ou cela ne serait PAS créé, ce qui signifierait que vous finiriez avec un utilisateur sans profil. Vous devriez également tester les cas de coin dans vos tests. –