我这里有这段代码
popular = Impression.select('impressionable_id, count(impressionable_id) as total').group('impressionable_id').order('total desc').limit(9)
@events = Event.where(id: popular.map(&:impressionable_id))
然而,目前正在发生的事情是@events
正在返回重复的名称。我想知道如何返回它们而不返回匹配的名称。
这就是我的意思,
基本上@events
工作正常,我可以调用@events.eventname
并在视图中获得9个不同的事件。
但是,如果例如Charity Fun Day
出现两次(有两个不同的ID),我不希望事件名称在此显示两次。
答案 0 :(得分:0)
@events = Event.where(id: popular.map(&:impressionable_id)).uniq
会为您提供独特的活动项目。
如果存在不同名称的事件,则可以执行
@events = Event.where(id: popular.map(&:impressionable_id))
@events.uniq{|event| event.name }