Datamapper - id 是否包含在结果集中
知道当前选择 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
What's the most elegant way of knowing if the current selection ID is already part of the Datamapper results, without iterating through all of the results and building an Array?
@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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
current_user.items.detect { |i| } i.id == Selection.id } 将返回一个布尔值(true/false),指示选择 ID 是否包含在 current_user.items 集合中。
current_user.items.detect { |i| i.id == selection.id }
will return a boolean (true/false) indicating whether the selection id is included in the current_user.items collection.您也可以使用它,如果存在 else 将返回 nil,它将从数组中返回选择 id。
this also you can use which will return the selection id from the array if presence else would return nil.