I’m trying to make has_many relation with dynamic class_name attribute
class Category < ActiveRecord::Base
has_many :ads, :class_name => ( lambda { return self.item_type } )
end
or
class Category < ActiveRecord::Base
has_many :ads, :class_name => self.item_type
end
But i got errors:
can't convert Proc into String
or
undefined method `item_type' for #<Class:0xb62c6c88>
EDIT
I have two different types of Ads
LeaseAd, RentAd they implemented using single table inheritance
Then i have Category of ads as nested set. I would like to specify dinamicly which type of ads belongs to Category object.
Thank you for any help!
means that rails is expecting a String
means that you didn’t define
item_typefor theClass-objectI believe what you want here is not possible this way.
I would use something like singletable inheritance for the ads and its subtypes.