Использование прокси-сервера ассоциации для коллекции - PullRequest
0 голосов
/ 21 марта 2012

Предположим, у меня есть город, в котором много зданий. Я хочу создать в городе метод, который проверяет, есть ли в городе здания с определенными условиями, например:

def has_building?(conditions)
    !self.buildings.where(conditions).empty?
end

Который работает нормально, но содержит поведение, которое должно содержаться в модели здания. Можно ли создать связанный метод, чтобы я мог преобразовать его в нечто вроде:

def has_building?(conditions)
    self.buildings.meet_requirements?(conditions)
end

1 Ответ

1 голос
/ 21 марта 2012

Вы имеете в виду, как

class City < ActiveRecord::Base
  has_many :buildings do
    def meet_requirements?(conditions)
      self.where(conditions).any?
    end
  end
end

ИЛИ

class Building < ActiveRecord::Base
  def self.meet_requirements?(conditions)
    self.where(conditions).any?
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...