instance method
find
Ruby on Rails 8.1.2
Since v4.0.13Signature
find(*args)
Finds an object in the collection responding to the id. Uses the same rules as ActiveRecord::FinderMethods.find. Raises ActiveRecord::RecordNotFound error if the object cannot be found.
class Person < ActiveRecord::Base
has_many :pets
end
person.pets
# => [
# #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>,
# #<Pet id: 2, name: "Spook", person_id: 1>,
# #<Pet id: 3, name: "Choo-Choo", person_id: 1>
# ]
person.pets.find(1) # => #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>
person.pets.find(4) # => ActiveRecord::RecordNotFound: Couldn't find Pet with 'id'=4
person.pets.find(2) { |pet| pet.name.downcase! }
# => #<Pet id: 2, name: "fancy-fancy", person_id: 1>
person.pets.find(2, 3)
# => [
# #<Pet id: 2, name: "Spook", person_id: 1>,
# #<Pet id: 3, name: "Choo-Choo", person_id: 1>
# ]
Parameters
-
argsrest
Source
# File activerecord/lib/active_record/associations/collection_proxy.rb, line 138
def find(*args)
return super if block_given?
@association.find(*args)
end
Defined in activerecord/lib/active_record/associations/collection_proxy.rb line 138
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Associations::CollectionProxy