我正在使用一个简单的Rails应用程序,它允许用户为Items添加书签并将其添加到Collections。我想按照它们添加到该集合的日期来订购集合中的项目。
物品型号:
class Item < ApplicationRecord
belongs_to :user
belongs_to :category
has_many :collection_items
has_many :collections, through: :collection_items
end
收集模型:
class Collection < ApplicationRecord
belongs_to :user
has_many :collection_items
has_many :items, through: :collection_items
end
Collection_Item模型:
class CollectionItem < ApplicationRecord
belongs_to :item
belongs_to :collection
end
如果尝试按created_at订购商品(请参阅下面的代码):
def show
@collection_items = @collection.items.order(created_at: :desc)
end
但是,这当然会按照项目首次创建的日期对其进行排序 - 而不是将项目添加到集合中的日期。 我怎么能实现后者?
非常感谢你的帮助:)。
答案 0 :(得分:1)
添加到集合的日期应该是created_at
的{{1}}。所以你能做的就是按照这个顺序订购物品:
CollectionItem