2010-11-24 28 views
1

J'ai une ressource de groupes qui belongs_to Workouts. Les séances d'entraînement peuvent être publiques ou privées et sont désignées comme telles par la colonne share dans la table d'entraînement (qui est un nombre entier et contient un 1 si l'entraînement est public). J'essaie d'appeler tous les groupes associés aux séances d'entraînement publiques. Je suppose que cela doit être fait par un named_scope mais je ne suis pas sûr de la syntaxe.Comment écrire un named_scope pour une ressource à travers une autre?

Dans le groups_controller je suppose que je qualifierais:

@groups = Group.public_groups.all 

Comment dois-je écrire le named_scope dans Group.rb? (Je suis dans des rails 2.3.8)

named_scope :public_groups, ... 

Répondre

1

est ici une façon de le faire:

class Group < ActiveRecord::Base 
    belongs_to :workout 
    named_scope :public, {:conditions => 'workouts.share = 1', :include => :workout} 
end 

@groups = Group.public.all 
+0

homme impressionnant. J'ai bien travaillé. Juste pas ce familier w/named_scope encore. – bgadoci