Comments (4)
Hi Pupeno,
It may be difficult or impossible to change acts_as_audited to do this.
AFAIK, here's the order how methods are defined on ActiveRecord classes:
- The class is interpreted. Any methods defined using "def my_method" are added to the class. As modules are included, their methods are added to the class.
- When the interpreter reaches the acts_as_audited line, it includes the appropriate modules, which define some methods.
- After the class is loaded, ActiveRecord inspects the database schema, and defines accessor methods for attributes.
So even if acts_as_audited checked if methods were already defined, it wouldn't prevent the case where ActiveRecord later tries to define methods based on the database schema.
from audited.
I see, I haven't realize that... mmhh... it seems like Rails should check whether the methods exist then. That's not likely to happen :/
Maybe checking if the method exists and checking the schema would do it, but I'm not even sure if that's possible.
from audited.
Late comment, but anyway... One could do with some code to remap generated method names like
acts_as_audited :methods => {:versions => :audit_versions}
this way a user who knows that some name will clash can preemptively change it.
from audited.
@pupeno, we're cleaning up some of our stale issues. Is this still an issue for you? Thank you!
from audited.
Related Issues (20)
- Data too long for column 'audited_changes'
- Type JSON not working for MariaDB
- Associated models two levels deep HOT 1
- Inherited models don't fire audit events HOT 2
- Infinite loop with devise timeoutable + rememberable when session expires - SystemStackError (stack level too deep) HOT 1
- Skipping create audit leads to bad data
- Using audited in Rails 7.0.7 generates a lot of deprecation warnings HOT 3
- created_at value has the timezone offset applied twice (>= 5.0.0)
- Readonly attributes are registered as modified HOT 1
- Rails 7.1.beta.1 - DEPRECATION WARNING: Module.deprecate without a deprecator is deprecated HOT 1
- Exclude Audited Gem Log Entries from PostgreSQL Database Storage
- Encryption for audited_changes / disabling the FILTERED feature HOT 3
- Audits with line of code location HOT 1
- Different kinds of User. HOT 2
- Updating an enum field on audited record while updating nested resource with touch: true creates a double audit
- `#touch` on record results in `NoMethodError` HOT 1
- Conditionally turn off audits in tests
- Auditing models with a Composite Primary Key - possible? HOT 1
- Ignoring deleted_at/deleted_on attributes
- Support for batch creation of audits HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from audited.