Используйте именованную область видимости с has_many_through - PullRequest
1 голос
/ 18 августа 2011

У меня есть следующая модель:

class Board < ActiveRecord::Base

has_many   :users, :through => :participants do
                 def manager
                     where("participants.role = ?", "Manager").first
                 end
               end

Это позволяет мне делать следующее в моем контроллере и просматривать

@board.users.manager

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

@board.manager

1 Ответ

2 голосов
/ 18 августа 2011

Вот пример решения:

class Board < ActiveRecord::Base

  has_many   :users, :through => :participants do
    def manager
      where("participants.role = ?", "Manager").first
    end
  end

  delegate :manager, :to => :users

end
...