正如您在下面的当前代码中所看到的,我发现基于属性recordable_id的重复项。我需要做的是根据四个匹配属性找到重复项:user_id,recordable_type,hero_type,recordable_id。我该如何修改代码?使用Array.map去除具有相同属性的“重复对象”
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日期的副本,留下最初创建的记录。 – keruilin 2010-05-08 01:35:08