1

Im travaillant sur une application de rails occasion Reminder où les utilisateurs peuvent s'inscrire puis définir certaines dates futures et les jours fériés/occasions que l'application leur rappellera par courriel à l'avenir ... En outre, ils peuvent sélectionner des intérêts et les e-mails contiendront En tout cas, ma question est assez simple dans la mesure où je configure les modèles initiaux pour l'application et je me demande si les dates/vacances et les intérêts devraient être des attributs de l'utilisateur. modèle/table ou des modèles uniques de leur propre (mise en place d'un has_many: intérêts association ect ect dans le modèle de l'utilisateur ..)Rails DB Schema: nouveau, modèle unique ou juste un attribut?

Toutes les idées ou suggestions très bienvenue!

Merci beaucoup!

Répondre

2

Je pencherais vers des modèles distincts, en particulier pour les intérêts. Cela vous permet de les interroger facilement et de regrouper les résultats pour afficher différentes vues de vos données (par exemple, trouver des utilisateurs ayant des centres d'intérêt similaires ou qui pourraient se rendre au même événement à une date donnée). Séparer les modèles est également la réponse «correcte» du point de vue de la normalisation de la base de données.

Il sera particulièrement utile pour votre plan d'offrir des offres basées sur les intérêts des utilisateurs.

+0

ok je suis d'accord qui fait le plus de sens .. Im penser à avoir un formulaire permettant à l'utilisateur de choisir parmi 20 "intérêts" donc je voudrais avoir la table d'intérêts ont une chaîne comme: self_interests ... thats tout je aurait besoin de commencer? – js111

+0

Je définirais les intérêts comme un modèle séparé avec une relation 'has_and_belongs_to_many' avec les utilisateurs. Vous pouvez remplir un ensemble d'intérêts initiaux, puis en ajouter d'autres dans le futur à votre guise. – x1a4

+0

merci a obtenu .. comment je peuplerais les intérêts initiaux? et has_and_belongs_to_many a seulement besoin d'une table de jointure sans modèle correct? – js111

Questions connexes