如何使用rails 3中的外键计数进行过滤?

时间:2011-12-05 07:48:55

标签: ruby-on-rails

我有一个拥有众多酒店的国家,我怎样才能获得所有拥有酒店的国家?我的意思是在我的外键模型上使用count的过滤器?

谢谢

1 个答案:

答案 0 :(得分:1)

# 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

这就是它的全部内容。