Model.find
1- Parameter: ID of the object to find.
2- If found: It returns the object (One object only).
3- If not found: raises an ActiveRecord::RecordNotFound
exception.
Model.find_by
1- Parameter: key/value
Example:
User.find_by name: 'John', email: '[email protected]'
2- If found: It returns the object.
3- If not found: returns nil
.
Note: If you want it to raise ActiveRecord::RecordNotFound
use find_by!
Model.where
1- Parameter: same as find_by
2- If found: It returns ActiveRecord::Relation
containing one or more records matching the parameters.
3- If not found: It return an Empty ActiveRecord::Relation
.