假设我在用户和消息之间有一个 has_many 关系。
我想设置一个范围,以便能够通过在他们发布的最后一条消息中包含某些内容的用户来过滤用户。所以只在每个用户的最后一条消息中搜索。
下面我得到了所有消息中的结果......
class Contact < ActiveRecord::Base
has_many :messages
scope :filter_by_last_messages, lambda { |value|
joins(:messages).where("messages.content = ?", value)
}
end