2010-11-15 6 views
3

Je suis sur Rails 2.3.5 et en essayant de comprendre la syntaxe pour la sélection sur certaines colonnes avec chargement ardent. Par exemple,Sélection de colonnes spécifiques avec chargement rapide

class Organizer < ActiveRecord::Base 
has_many :events 
end 

class Event < ActiveRecord::Base 
belongs_to :organizer 
has_many :bookings 
end 

class Booking < ActiveRecord::Base 
belongs_to :event 
end 

Disons que dans la méthode show OrganizersController, je souhaite utiliser le chargement envie d'attraper certaines colonnes d'organisateur, l'événement, et les modèles de réservation. Je crois que voici le code qui saisit toutes les colonnes de tous les 3 modèles

Organizer.find(params[:id], :include => {:event => {:booking}}) 

Mais disons que je veux seulement saisir organizer.id, event.id et booking.id, quelle est la syntaxe pour le faire?

Répondre

0

J'ai trouvé la réponse dans ce article.

Utilisation: seulement comme celui-ci, par exemple,

david.to_json(:include => { :posts => { 
          :include => { :comments => { 
              :only => :body } }, 
          :only => :title } }) 
+6

Je ne suis pas sûr que ce soit la bonne réponse. 'to_json' vous donnera la sortie attendue, mais PAS ne sera pas désireux de charger comme prévu sous le capot. Vérifiez les journaux SQL. –

Questions connexes