【发布时间】:2010-05-08 00:03:24
【问题描述】:
正如您在下面的当前代码中看到的,我正在根据属性 recordable_id 找到重复项。我需要做的是根据四个匹配属性找到重复项:user_id、recordable_type、hero_type、recordable_id。如何修改代码?
heroes = User.heroes
for hero in heroes
hero_statuses = hero.hero_statuses
seen = []
hero_statuses.sort! {|a,b| a.created_at <=> b.created_at } # sort by created_at
hero_statuses.each do |hero_status|
if seen.map(&:recordable_id).include? hero_status.recordable_id # check if the id has been seen already
hero_status.revoke
else
seen << hero_status # if not, add it to the seen array
end
end
end
【问题讨论】:
-
我想去掉 created_at 日期最近的重复项,留下最初创建的记录。
标签: ruby-on-rails ruby arrays duplicate-removal