Как мне отфильтровать связанный столбец ресурса, используя named_scope? - PullRequest
0 голосов
/ 14 декабря 2010

Я создал приложение Ruby on Rails, которое позволяет пользователям отслеживать свои тренировки.

User has_many :workouts

Workout belongs_to :user

Я пытаюсь вызывать только тренировки от пользователей мужского пола.Как мне написать именованную область для Workout.rb, чтобы вызывать только тренировки от пользователей мужского пола?

В моем случае столбец user.sex представляет собой строку, которая собирает либо Male, либо Female.

Я использую рельсы 2.3.8 для этого конкретного применения.

1 Ответ

2 голосов
/ 14 декабря 2010

Попробуйте это:

class Workout

  belongs_to :user
  named_scope :all_male,   :joins => :user, 
                           :conditions => ["users.sex = ?", "Male"]

  named_scope :all_female, :joins => :user, 
                           :conditions => ["users.sex = ?", "Female"]

end

Теперь вы можете использовать область как:

Workout.all_male    
Workout.all_female
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...