Как мне написать named_scope для одного ресурса через другой? - PullRequest
1 голос
/ 24 ноября 2010

У меня есть групповой ресурс, который belongs_to Тренировки. Тренировки могут быть общедоступными или частными и обозначаются как таковые в колонке share в таблице тренировок (которая является целым числом и содержит 1, если тренировка является публичной)

Я пытаюсь позвонить всем группам, связанным с общедоступными тренировками. Я предполагаю, что это должно быть сделано через named_scope, но я не уверен в синтаксисе.

В groups_controller я предполагаю, что я бы позвонил:

@groups = Group.public_groups.all

Как мне написать named_scope в Group.rb? (Я в рельсах 2.3.8)

named_scope :public_groups, ...

1 Ответ

1 голос
/ 24 ноября 2010

Вот один из способов сделать это:

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

@groups = Group.public.all
...