josephwilk-LdrfRCWryp69FHfhHBbuYA@public.gmane.org
2008-Jan-18 17:28 UTC
Semantic Meaning in ActiveRecord Attributes
Hello, My problem: Attributes in ActiveRecord have no semantic meaning. And the attributes are defined in the db making it difficult to attach semantic meaning in the db level (without making things complicated in the schema) I want to associate very simple semantic/metadata information to attributes of models, without having to put all the fields in the db into the Model file. As this feels like its breaking the DRY principle (and making Rails models less clean and agile). I''ve looked at Django and how it deals with meta data and models and I''m wishing I could do something similar in Rails. See my descriptions here (http://www.joesniff.co.uk/critique/automatic-admin-systems- semantics-with-rails-and-django.html) Ultimately its models are defined in Python objects and mapped down to db types, so metadata is easy to attach. I want to try and achieve something like: Database -> Polls{Id Integer(11), monkeyZipcode Char(12)} And in the Polls Model metadata in the model indicating that ''monkeyZipcode'' is a zipcode rather than just a char(12). I''ve thought about: *Representing meta data in the database about the database :) *Inferring semantic meaning from the name of model attributes fields There does look like some promising projects currently going in in Rails: http://code.google.com/p/semanticattributes/ Have other people tried to deal with this problem? Any thoughts highly appreciated. Thanks, Joseph Wilk http://www.joesniff.co.uk/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---