Category
有很多Post
。
某个类别中的所有帖子都有position
属性,从数字1开始,最后一个数字应该是该类别的总帖子数。
如何最有效地检查位置编号的递增列表是否没有任何重复或失误?
答案 0 :(得分:3)
使用each_cons:
array = @posts.pluck(:position)
array.sort.each_cons(2).all? { |x,y| y == x + 1 }
如果它们没有以相等的步长递增或包含重复项,则返回false
。
答案 1 :(得分:0)
你可能应该将这种工作卸载到acts as list
宝石上,它会完成你所追求的目标。
至于获取'总帖数',不要依赖某个职位,问你的数据库! @category.posts.count