Ruby on rails 检查记录集中是否有ID
如何检查集合中是否存在具有特定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
@users=User.where(某物:true)
user\u是否在此集合中=@users.include?7
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)谢谢<代码>弹拨
就是我要找的:)