2 votes

Rails inclut toujours (join) lors de l'initialisation

J'ai un modèle User comme illustré ci-dessous :

class User < ActiveRecord
  belongs_to :college
  belongs_to :class_level
end

Je veux TOUJOURS joindre ces deux autres tables en renvoyant un objet User simplifié. Comment puis-je accomplir cela dans mon modèle User? Je sais que je peux le faire dans un autre modèle :

class Foo < ActiveRecord
  has_many :users, :include => [:college, :class_level]
end

Mais je veux le faire dans mon modèle User, donc Foo.users sera soit préchargé, soit déjà joint. Y a-t-il un moyen de créer et initialiser cela dans le modèle User ?

3voto

sethvargo Points 10560

J'ai trouvé la solution. J'ai dû utiliser :

default_scope :include => ...

0voto

pjammer Points 5042

Il y a aussi un attribut :include, pour belongs_to.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X