私はこれに似たモデルを設定しています:
class Book < ActiveRecord::Base
has_many :histories, as: :object
end
class Magazine < ActiveRecord::Base
has_many :histories, as: :object
end
class Action < ActiveRecord::Base
belongs_to :object, polymorphic: true
default_scope order(:done_at)
# a history contains an action and the time that action
# occurred on the object it belongs to
end
ここで、すべてのオブジェクトで発生した最新の5つのアクションのリストを取得したいと思います。だから私は次のようなことをすることができます:
Action.limit(5)
ただし、問題は、同じ本で2つのアクションが最近発生した場合、両方のアクションが取得されることです。最新のものだけを取得したい。どうすればこれを達成できますか?