method
many?
v4.0.2 -
Show latest stable
- Class:
ActiveRecord::Associations::CollectionProxy
many?(&block)public
Returns true if the collection has more than one record. Equivalent to collection.size > 1.
class Person < ActiveRecord::Base has_many :pets end person.pets.count #=> 1 person.pets.many? #=> false person.pets << Pet.new(name: 'Snoopy') person.pets.count #=> 2 person.pets.many? #=> true
You can also pass a block to define criteria. The behavior is the same, it returns true if the collection based on the criteria has more than one record.
person.pets # => [ # #<Pet name: "Gorby", group: "cats">, # #<Pet name: "Puff", group: "cats">, # #<Pet name: "Snoop", group: "dogs"> # ] person.pets.many? do |pet| pet.group == 'dogs' end # => false person.pets.many? do |pet| pet.group == 'cats' end # => true