Как отфильтровать по количеству внешнего ключа в рельсах 3? - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть страна с множеством отелей. Как я могу получить информацию о всех странах, в которых есть отели? Я имею в виду фильтр, использующий счетчик для моей модели внешнего ключа?

Спасибо

1 Ответ

1 голос
/ 05 декабря 2011
# migration
class AddCounterCacheToCountries < ActiveRecord::Migration
  add_column :countries, :hotel_count, :integer, :default => 0
end

# models
class Country
  has_many :hotels
  scope :with_hotels, where('hotel_count > 0')
end

class Hotel
  belongs_to :country, :counter_cache => true
end

# controller
def index
  @countries = Country.with_hotels.all
end

И это все, что нужно сделать.

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