mirror of
https://github.com/jbranchaud/til
synced 2026-01-18 22:48:02 +00:00
Add Get An Empty ActiveRecord Relation as a rails til
This commit is contained in:
@@ -9,7 +9,7 @@ and pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
||||||
|
|
||||||
_938 TILs and counting..._
|
_939 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -580,6 +580,7 @@ _938 TILs and counting..._
|
|||||||
- [Force All Users To Sign Out](rails/force-all-users-to-sign-out.md)
|
- [Force All Users To Sign Out](rails/force-all-users-to-sign-out.md)
|
||||||
- [Generating And Executing SQL](rails/generating-and-executing-sql.md)
|
- [Generating And Executing SQL](rails/generating-and-executing-sql.md)
|
||||||
- [Get An Array Of Values From The Database](rails/get-an-array-of-values-from-the-database.md)
|
- [Get An Array Of Values From The Database](rails/get-an-array-of-values-from-the-database.md)
|
||||||
|
- [Get An Empty ActiveRecord Relation](rails/get-an-empty-activerecord-relation.md)
|
||||||
- [Get The Column Names For A Model](rails/get-the-column-names-for-a-model.md)
|
- [Get The Column Names For A Model](rails/get-the-column-names-for-a-model.md)
|
||||||
- [Hash Slicing](rails/hash-slicing.md)
|
- [Hash Slicing](rails/hash-slicing.md)
|
||||||
- [Ignore Poltergeist JavaScript Errors](rails/ignore-poltergeist-javascript-errors.md)
|
- [Ignore Poltergeist JavaScript Errors](rails/ignore-poltergeist-javascript-errors.md)
|
||||||
|
|||||||
33
rails/get-an-empty-activerecord-relation.md
Normal file
33
rails/get-an-empty-activerecord-relation.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Get An Empty ActiveRecord Relation
|
||||||
|
|
||||||
|
When you query for something (with `#where`) and there are no results matching
|
||||||
|
that query, you get something that looks like an empty array (`[]`), but it's
|
||||||
|
not quite.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
> result
|
||||||
|
[]
|
||||||
|
> result.class
|
||||||
|
Book::ActiveRecord_Relation
|
||||||
|
```
|
||||||
|
|
||||||
|
It's an empty [`ActiveRecord`
|
||||||
|
relation](https://api.rubyonrails.org/classes/ActiveRecord/Relation.html).
|
||||||
|
|
||||||
|
You can get an instance of an empty `ActiveRecord` relation without
|
||||||
|
constructing a _no result_ query.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
> Book.none
|
||||||
|
[]
|
||||||
|
> Book.none.class
|
||||||
|
Book::ActiveRecord_Relation
|
||||||
|
```
|
||||||
|
|
||||||
|
I can think of a couple scenarios where this would be useful:
|
||||||
|
|
||||||
|
- as a default value for a method parameter
|
||||||
|
- as a test value for a method that expects to have an `ActiveRecord` relation
|
||||||
|
passed in
|
||||||
|
|
||||||
|
[source](https://stackoverflow.com/questions/4877931/how-to-return-an-empty-activerecord-relation)
|
||||||
Reference in New Issue
Block a user