I have searched but not able to find the brief explanation for the difference between ActiveRecord and ActiveRecord::relation object.
I have understand that ActiveRecord is the single object find by something like
User.find(1)
And ActiveRecord::Relation is the array like object Find by something like
User.where(id: 1)
I am looking for the difference between them in terms of query execution or deep explanation about them, so it will clear the whole concept behind it.
Thanks in advance!
An instance of ActiveRecord::Base
is an object that represents a specific row of your database (or might be saved into the database).
Whereas, an instance of ActiveRecord::Relation
is a representation of a query that can be run against your database (but wasn't run yet). Once you run that query by calling to_a
, each
, first
etc. on that Relation
a single instance or an array of ActiveRecord::Base
instances will be returned.