【发布时间】:2009-02-18 00:43:07
【问题描述】:
下午,
假设我收集了随机选择的用户:
User.find(:all, :limit => 10, :order => "rand()")
现在从这些结果中,我想看看 ID 为 3 的用户是否包含在结果中,找出这一点的最佳方法是什么?
我想过 Array.include 吗?但这对我来说似乎是一个死胡同。
谢谢
日本
【问题讨论】:
标签: ruby-on-rails activerecord
下午,
假设我收集了随机选择的用户:
User.find(:all, :limit => 10, :order => "rand()")
现在从这些结果中,我想看看 ID 为 3 的用户是否包含在结果中,找出这一点的最佳方法是什么?
我想过 Array.include 吗?但这对我来说似乎是一个死胡同。
谢谢
日本
【问题讨论】:
标签: ruby-on-rails activerecord
users = User.find(:all, :limit => 10, :order => "rand()")
users.any? {|u| u.id == 3}
【讨论】:
assert random_users.include?(User.find 3), "Not found!"
如果活动记录对象具有相同的 id,则认为它们是相等的。数组#include?尊重通过== 方法定义的对象相等性。
【讨论】:
User.find(:all, :limit => 10, :order => "rand()").any? { |你| u.id == 3 }
这将使您免于再次查找。
【讨论】: