On 11 aug, 22:57, insect <[email protected]> wrote: > Thank you Jaap! > > I thought about it previousely, but one problem exists with with > validation and strong types of attributes. As i understand > ProductAttribute should have several number of fields for different > types of values e.g. string, decimal, integer, boolean and etc. And > there should be an accessor wich will give us value from field > dependent on type wich was defined in ProductDefinition. Am I right?
I have had a very long day and I now see that I may have misunderstood: you might not even need a many-to-many relation, am I right? There's always the possibility of just using has_many and belongs_to between the product and attribute table. Especially if you want to be able to, for example, destroy a product and its attributes, you don't want to care too much about double entries. As for the string, integer, boolean etc.: that's true. There are a few methods that come to mind and the first one is indeed creating fields for all these possibilities and just looking which field contains a value. You can evaluate whether it's a string, a boolean or an integer using the field it's in. However, I'm unsure whether that's the most robust solution. You could also store every value as a string and convert it back in your model. > > May be we can collaborate over this problem? Sure, you can always contact me directly, but I'm no expert yet, I'm probably as much in the learning process as you are and the Rails community you've found here is full of true experts. Let's have my responses be evaluated by the community instead of taking them for truth. That way we can both learn. --~--~---------~--~----~------------~-------~--~----~ 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

