Hello!

Im using ruby 1.9.2 and Rails 3.0.3.

I have the following models

class Property < ActiveRecord::Base
class Feature < ActiveRecord::Base
class DefaultFeature < Feature
class CustomFeature < Feature
class PropertyFeature < ActiveRecord::Base

One Property can have many Features, and one Feature is associated with many
Properties (joined through PropertyFeature model). There are two kinds of
Features: DefaultFeatures and CustomFeatures, for what Im using single table
inheritance. Both kinds of Features have exactly the same fields, but i need
to differentiate them in my application.
What i want to achieve, if possible, is being able to access Features from a
Property instance like this:
a_property.features
a_property.custom_features
a_property.default_features

And also add features to a property:
a_property.custom_features << CustomFeature.new
a_property.features << CustomFeature.new

The closest solution i could think of is this one:
http://pastie.org/1499280

The problem I'm having is that when i call a_property.custom_features it
brings all features from the property: custom AND default ones.
I've already  tried making polymorphic the belongs_to :feature association
in the PropertyFeature model, but it raised an
ActiveRecord::HasManyThroughAssociationPolymorphicError exception, so i
assume rails is not supposed to work like that.

I'd appreciate any help on how to do this (i've tried everything i could
think of). Maybe my approach is wrong to begin with, in which case i'd love
to hear a better way to to this.

thanks!

--
rodrei

-- 
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@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to