Rails 3 Joint — Sélectionner seulement certaines colonnes
Ci-dessous est une relation entre les Commentaires et un utilisateur. Chaque commentaire a un utilisateur, de sorte que je suis en train de construire une jointure dans le code ci-dessous.
Je me demandais comment construire ce code pour inclure uniquement des colonnes spécifiques dans la jointure. Je n'ai pas besoin de toutes les informations de l'utilisateur. Juste le prenom. Toutes les suggestions.
Code Actuel:
@comments = Comment.where(:study_id => @study.id).joins(:user)
Est-ce que votre Commentaire modèle ont pas de :association d'utilisateurs? Essayez-vous désireux de charge de l'utilisateur de l'information? Ce que vous essayez d'accomplir avec une jointure qui ActiveRecord n'est pas déjà vous donner?
Oui. Je suis en train avides de charger les informations. Actuellement, il n'utilisateur, pour l'utilisateur pour chaque commentaire.
Oui. Je suis en train avides de charger les informations. Actuellement, il n'utilisateur, pour l'utilisateur pour chaque commentaire.
OriginalL'auteur Kyle | 2012-04-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser quelque chose comme ceci:
OriginalL'auteur Aldo 'xoen' Giambelluca
L'extension de Aldo, en réponse à montrer un moyen de récupérer l'entraînant la étrangères la valeur de la colonne.
Vous pouvez également déclarer
users_first_name
comme un attrib sur le commentaire avec attr_accessible. Je ne pense pas qu'une solution magique pour régler automatiquement, mais vous pouvez facilement le faire vous-même dans un post-sélectionnez boucle.Les travaux de cette. Mais attention - lorsque vous faites inspecter sur la sortie (exemple '@commentaires.d'abord.inspecter' ou '@commentaires.inspecter"), vous ne verrez pas les données jointes, et peut-être induit en erreur en pensant que c'est de ne pas en tirer. Mais lorsque vous spécifiez le "" le nom spécifié, comme dans cet exemple avec le "met" - elle est présente.
Bon point, ajouté à l'exemple
OriginalL'auteur mahemoff