Comments (5)
you are completely correct. one way to handle this with the current couch potato is to override the User.json_create method which would not be very elegant though. providing a hash like syntax for properties not defined on the class sounds like a good idea though.
from couch_potato.
on the other hand... when you think about your object model, why would you want to have access to attributes that according to your class are not there. you could just as well declare the name as another property...
from couch_potato.
Yes, I agree. It does get a little too meta programmy taken to that extreme, unless you are also saving older views and logic that goes with the old properties. Probably the main feature here I see valuable is being able to add a property at runtime, which I believe can be done on the class level with couch_potato.
Here is an example of where this would be useful...
http://merbist.com/2009/05/17/couchdb-with-couchrest-in-5-minutes/#comment-645
from couch_potato.
maybe it makes sense to do something like this in an extra module that has to be included in addition to the Persistence module for cases where you want this behavior. if you wanna write this i'd be happy to include it.
from couch_potato.
another solution for the cms problem (allow users to have custom fields): create a property called custom_fields on your model and make that a hash that contains the custom fields. this way you would also avoid naming collisions with other properties.
from couch_potato.
Related Issues (20)
- how update field HOT 3
- Change format of #attributes HOT 2
- Custom port for database HOT 3
- Date patch is affecting lograge timestamp gem HOT 12
- CouchPotato.database.load_document does not instantiate the correct class HOT 6
- CouchDB Authentication HOT 1
- CouchRest 2.0 HOT 3
- Merge 1.x branch into master HOT 1
- Return result object from db queries
- Mango Support
- improve query interface HOT 1
- add caching
- validatations don't use default context
- Better error message for mismatching property type for [String]
- document.reload should not read from cache
- New release?
- write conflicts not detected because of dirty tracking and race condition
- Does sync/replication work?
- Confusion about the create_id
- Couchdb timeout option HOT 4
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 couch_potato.