Datamapper - 结果集中包含id

时间:2011-08-11 18:25:57

标签: ruby arrays hash datamapper ruby-datamapper

了解当前选择ID是否已经是Datamapper结果的一部分,而不是遍历所有结果并构建数组,最优雅的方法是什么?

    @saved_item = Array.new
    current_user.items.all.each do |item|
            @saved_items.push(item.id)
    end

    if (@saved_items.include?(selection.id))
            true
    else
            false
    end

2 个答案:

答案 0 :(得分:1)

current_user.items.detect { |i| i.id == selection.id }将返回一个布尔值(true / false),指示选择ID是否包含在current_user.items集合中。

答案 1 :(得分:0)

  

current_user.items.delete(selection.id)

这也可以使用哪个将返回数组中的选择ID,如果其他将返回nil。