鉴于:
class Categories < ActiveRecord::Base
has_many :posts
end
和
class Posts < ActiveRecord:Base
attr_accessible :category_id
belongs_to :category
end
如何获取至少有一个相关帖子的所有类别的数组?
鉴于:
class Categories < ActiveRecord::Base
has_many :posts
end
和
class Posts < ActiveRecord:Base
attr_accessible :category_id
belongs_to :category
end
如何获取至少有一个相关帖子的所有类别的数组?
categories
更好的(就性能而言)解决方案是在表中和:counter_cache => true
belongs_to 关联声明(您已经查看过)中有一个计数列。
更多信息在这里: http: //guides.rubyonrails.org/association_basics.html#belongs_to-counter_cache
如果您的表相对较小,您可以查询:
Category.joins(:posts).group(:category_id).having('count(category_id) >= ?', 1)