ActiveRecord Where Assoc
PaperTrail
Our great sponsors
ActiveRecord Where Assoc | PaperTrail | |
---|---|---|
8 | 17 | |
182 | 6,504 | |
- | 0.7% | |
1.7 | 8.5 | |
3 months ago | 7 days ago | |
Ruby | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ActiveRecord Where Assoc
-
EXISTS clause for active record
I’ve been using the activerecord_where_assoc gem for this. I think it’s API is more natural than this proposal.
-
My new gem lets you follow associations when doing ActiveRecord queries. Here's an intro for follow_assoc.
Your examples using joins would return duplicated Sections. That might force you to add a distinct. I personally find it wrong to do a distinct in a scope just to be able to make the condition I want the scope to do. It's a hidden side effect that could cause problem elsewhere and it's unexpected from the name of the scope. I made a gem to deal with that situation: where_assoc. There is definitely an overlap between both gem.
-
Rails 6.1 adds query method associated to check for the association presence
Assuming that ... was indicating some form of annoyance with that distinct, you might want to take a look at activerecord_where_assoc
-
Active Record: x.includes(y): y was not recognized for preload
Here are more examples.
Here is an introduction to the gem.
I highly recommend looking at my gem : activerecord_where_assoc
There are multiple ways to filter by an associatin in Rails and they all have problems.
PaperTrail
-
Best rails tools to automatically handle logging of things like all a user's actions, or changes to a record in a module - primarily for audit purposes.
Start with https://github.com/paper-trail-gem/paper_trail
-
is there a gem for tracking adhoc rails console changes
I think you could use that in conjunction with the paper_trail gem, as /u/GreenCalligrapher571 mentioned, which is also a good suggestion. As an additional note, when changing records in production while using the paper_trail gem, I suggest wrapping your database-mutating statements executed in the rails console within a whodunnit block, so PaperTrail.request(whodunnit: 'Dorian Marié') { widget.update name: 'Wibble' } or something rather than just widget.update name: 'Wibble'. Or, if you have some sort of issue-tracking / ticketing system, you could set the whodunnit value to the ticket number or whatever, and then anyone who wants to know why the records are in the state they're in can consult that ticket, which hopefully has additional relevant context.
-
Adding soft delete to a Phoenix Commanded (CQRS) API
In most designs, this would probably not be possible unless a table tracking extension is being used in an ORM. Even with change tracking enabled through extensions like paper trail or Django simple history, it can be tricky to restore deleted entities. Object tracking would need to have been enabled before it is needed to ensure the data is still around to be restored.
- Looking for a Rails Gem that Audits Manual Database Changes
-
Temporality/time-travelling in DB with ActiveRecord?
Maybe you are looking for the papertrail gem? https://github.com/paper-trail-gem/paper_trail
- Looking for an observer gem
-
`method_missing': undefined method `has_paper_trail'
has_paper_trail is from the paper-trail-gem, do you have that installed?
-
What's your process to run ruby scripts on production?
If talking about console access on production: First this is pretty limited. Then, we have logic in place, that sets the public key, the person authenticated with to access the console as the whodunnit ID in paper-trail, so that at least all their changes are audited. The thing @bluehavana posted, with auditing everything that was entered in the console is a good idea as well.
-
PaperTrail VS time-travel - a user suggested alternative
2 projects | 18 Sep 2021
What are some alternatives?
Audited - Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
Paranoia - acts_as_paranoid for Rails 5, 6 and 7
Logidze - Database changes log for Rails
mongoid-history - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.
ActsAsParanoid - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
Discard - 🃏🗑 Soft deletes for ActiveRecord done right
ActiveRecord Import - A library for bulk insertion of data into your database using ActiveRecord.
Espinita - Audit activerecord models like a boss (and works with rails 4!)
Destroyed At - ActiveRecord Mixin for Safe Destroys
marginalia - Attach comments to ActiveRecord's SQL queries
Ruby JSON Schema Validator - Ruby JSON Schema Validator
Avo - Build Ruby on Rails apps 10x faster