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
-~----------~----~----~----~------~----~------~--~---

Reply via email to