2017-10-16 2 views
-1

J'ai deux objets: Utilisateur et Image.Rails: Inclure la valeur d'association dans les résultats ActiveRecord

Un utilisateur a plusieurs images. Je veux seulement inclure l'URL "image principale" pour cet utilisateur dans ma requête ActiveRecord. Url est une propriété de Picture et primary_picture_id est une propriété de l'utilisateur.

Le but ici est de prendre les résultats et de les transformer en json pour les résultats de recherche.

donc ce que je veux faire est quelque chose comme:

User.where("...").select(:id, :title, {|user| user.primary_picture.path}).to_json 

... mais évidemment ce n'est pas valide.

Existe-t-il un moyen d'inclure une propriété d'un objet associé dans les résultats de la requête?

Merci!

Ben

Répondre

0

Essayez celui

User.includes(:primary_picture).select(:id, :title, :path) 
+0

Merci! Quand j'ajoute que j'obtiens: (L'objet ne supporte pas #inspect) – mrbenhill

+0

Je veux dire, appelez cela to_json mais essayez cette ligne dans la console aussi pour voir si c'est ce que vous voulez, ça devrait fonctionner – Ursus