0

知道当前选择 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
4

2 回答 2

1

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

于 2011-08-11T18:40:06.310 回答
0

current_user.items.delete(selection.id)

这也可以使用它将返回数组中的选择 id,如果存在则返回 nil。

于 2011-08-24T13:36:40.990 回答