Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 检查记录集中是否有ID_Ruby On Rails_Ruby On Rails 4_Rails Activerecord - Fatal编程技术网

Ruby on rails 检查记录集中是否有ID

Ruby on rails 检查记录集中是否有ID,ruby-on-rails,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Ruby On Rails 4,Rails Activerecord,如何检查集合中是否存在具有特定ID的记录 获取符合条件的所有用户 @users=User.where(某物:true) 检查特定用户是否在此集合中user\u是否在此集合中=@users.include?7 第2步是我无法理解正确语法的地方 我不能简单地做user\u is\u in\u set=user.where(something:true,id:7),原因相对复杂 是数组类的一种方法,如果您想使用它,可以执行以下操作: @users = User.where(something: tru

如何检查集合中是否存在具有特定ID的记录

  • 获取符合条件的所有用户
    @users=User.where(某物:true)

  • 检查特定用户是否在此集合中
    user\u是否在此集合中=@users.include?7

  • 第2步是我无法理解正确语法的地方

    我不能简单地做
    user\u is\u in\u set=user.where(something:true,id:7)
    ,原因相对复杂

    是数组类的一种方法,如果您想使用它,可以执行以下操作:

    @users = User.where(something: true).pluck(:id) #this will return an array of ids for which something is true
    => [1,2,3,4,5,6,7,8,9,10]
    
    @users.include? 7
    => true
    

    User.where(something:true,id:7)
    将返回一个只包含一个元素或不包含任何元素的
    ActiveRecord::Relation
    。换句话说,上面这一行要求用户的集合,使得
    某物
    true
    id
    7
    。如果您明确想要一个可以使用的布尔值,例如,
    User.where(something:true,id:7)。any?
    此外,如果您喜欢使用示例中的
    include?
    ,则需要向其传递一个
    User
    对象,而不仅仅是它的
    id
    。例如,
    user=user.find(7)
    后跟
    user\u is\u in\u set=@users.include?用户
    会将
    用户在
    设置为
    。希望对您有所帮助。您可以使用user\u is\u in\u set=user.exists?(something:true,id:7)谢谢<代码>弹拨
    就是我要找的:)