2010-11-24 54 views
1

我有一个团体资源,belongs_to锻炼。锻炼可以是公共或私人的,并且在锻炼表中列share(如果锻炼是公开的,则为整数并包含1)指定。如何通过另一个资源为一个资源编写named_scope?

我正在尝试呼叫与公共锻炼相关的所有组。我认为这需要通过named_scope完成,但我不确定语法。

在我假设我会打电话的groups_controller:

@groups = Group.public_groups.all 

我应该怎么写在Group.rb的named_scope? (我在轨2.3.8)

named_scope :public_groups, ... 

回答

1

下面是做这件事:

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

@groups = Group.public.all 
+0

真棒人。工作很好。只是不那么熟悉w/named_scope呢。 – bgadoci 2010-11-24 05:21:14