Je configure un utilisateur, un site Web et un modèle d'étiquette, mais je suis incertain des associations correctes?
Ceci est une application CRUD dans laquelle je souhaite permettre à l'utilisateur de créer un "site" (un signet essentiellement) et être capable d'ajouter une "balise" à ce site Web afin que les sites Web puissent être filtrés. p>
J'ai trois tables: Je veux, l'utilisateur avoir de nombreux sites Web, Site Web comporte de nombreuses balises, les balises appartiennent au site Web et un utilisateur a de nombreuses balises via des sites Web. P> J'ai déjà les modèles suivants configurés: p> utilisateur code>,
site Web code>,
tag code> p>
{content=>"tryingtoaddtag.com", "dropdown"=>"Clothing"}
3 Réponses :
Lire ce article puis essayer Ceci: si cela ne fonctionne pas. Utiliser la portée dans utilisateur code> avec p>
Pas de chance encore. Je ne devrais pas avoir à créer une méthode code> tique code> si j'utilise une jointure si je dois-je?
Considérez un site Web HAS_MANY: TAGS
user = User.first user.user_tags
Essayez avec la suite,
Tag.user_tags(@user)
qu'est-ce que vous obtenez de
@ user.tags code>?
J'ai donc créé un site Web avec une balise de code> code> et lorsque je dépose dans
pry code> et tapez
tag.last code> Cela me donne que comme prévu. Mais
utilisateur.all [0] .tags code> me donne un tableau vide. J'ai vérifié que
user.all [0] code> me donne le bon utilisateur qui crée le site web / tag
Pouvez-vous essayer
user.first.tags.to_sql code> et voir s'il rejoint correctement les tables de SQL?
C'est donc ce qu'il a rendu: "Sélectionnez \" Tags \ ". * À partir de \" Tags \ "Sites internes \" Sites Web \ "On \" Tags \ ". \" Sites Web \ ". "ID \" Où \ "sites Web \". \ "user_id \" = 1 "
Pouvez-vous essayer
actuel_user.tags.build (contenu: paramètres [: Dropdown], site web: @website) code>? Si cela ne fonctionne pas, vous pouvez d'abord enregistrer @website, puis passer un identifiant de site Web pendant que vous construisez.
@AustinBurke Veuillez consulter la réponse donnée ci-dessous, peut-être que vous voulez, n'hésitez pas à accepter / uppote de réponse si vous, ainsi que pour les futurs, alors chercheurs.