【问题标题】:Ruby on Rails: testing if ActiveRecord results include a valueRuby on Rails:测试 ActiveRecord 结果是否包含值
【发布时间】:2009-02-18 00:43:07
【问题描述】:

下午,

假设我收集了随机选择的用户:

User.find(:all, :limit => 10, :order => "rand()")

现在从这些结果中,我想看看 ID 为 3 的用户是否包含在结果中,找出这一点的最佳方法是什么?

我想过 Array.include 吗?但这对我来说似乎是一个死胡同。

谢谢

日本

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:
    users = User.find(:all, :limit => 10, :order => "rand()")
    users.any? {|u| u.id == 3}
    

    【讨论】:

      【解决方案2】:
      assert random_users.include?(User.find 3), "Not found!"
      

      如果活动记录对象具有相同的 id,则认为它们是相等的。数组#include?尊重通过== 方法定义的对象相等性。

      【讨论】:

        【解决方案3】:

        User.find(:all, :limit => 10, :order => "rand()").any? { |你| u.id == 3 }

        这将使您免于再次查找。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-09
          • 2012-10-05
          • 1970-01-01
          • 2019-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多