mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Read-Only Models as a rails til
This commit is contained in:
@@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really
|
|||||||
warrant a full blog post. These are mostly things I learn by pairing with
|
warrant a full blog post. These are mostly things I learn by pairing with
|
||||||
smart people at [Hashrocket](http://hashrocket.com/).
|
smart people at [Hashrocket](http://hashrocket.com/).
|
||||||
|
|
||||||
_431 TILs and counting..._
|
_432 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -278,6 +278,7 @@ _431 TILs and counting..._
|
|||||||
- [Params Includes Submission Button Info](rails/params-includes-submission-button-info.md)
|
- [Params Includes Submission Button Info](rails/params-includes-submission-button-info.md)
|
||||||
- [Perform SQL Explain With ActiveRecord](rails/perform-sql-explain-with-activerecord.md)
|
- [Perform SQL Explain With ActiveRecord](rails/perform-sql-explain-with-activerecord.md)
|
||||||
- [Pretend Generations](rails/pretend-generations.md)
|
- [Pretend Generations](rails/pretend-generations.md)
|
||||||
|
- [Read-Only Models](rails/read-only-models.md)
|
||||||
- [Rescue From](rails/rescue-from.md)
|
- [Rescue From](rails/rescue-from.md)
|
||||||
- [Retrieve An Object If It Exists](rails/retrieve-an-object-if-it-exists.md)
|
- [Retrieve An Object If It Exists](rails/retrieve-an-object-if-it-exists.md)
|
||||||
- [Select A Select By Selector](rails/select-a-select-by-selector.md)
|
- [Select A Select By Selector](rails/select-a-select-by-selector.md)
|
||||||
|
|||||||
23
rails/read-only-models.md
Normal file
23
rails/read-only-models.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Read-Only Models
|
||||||
|
|
||||||
|
Are you in the midst of a big refactoring that is phasing out an
|
||||||
|
`ActiveRecord` model? You may not be ready to wipe it from the project, but
|
||||||
|
you don't want it accidentally used to create any database records. You
|
||||||
|
essentially want your model to be read-only until it is time to actually
|
||||||
|
delete it.
|
||||||
|
|
||||||
|
This can be achieved by adding a `readonly?` method to that model that
|
||||||
|
always returns `true`.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
def readonly?
|
||||||
|
true
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
`ActiveRecord`'s underlying persistence methods always check `readonly?`
|
||||||
|
before creating or updating any records.
|
||||||
|
|
||||||
|
[source](http://stackoverflow.com/questions/5641410/is-there-an-easy-way-to-make-a-rails-activerecord-model-read-only)
|
||||||
|
|
||||||
|
h/t Josh Davey
|
||||||
Reference in New Issue
Block a user