Я пытаюсь сделать has_many отношение с динамическим атрибутом class_name
class Category < ActiveRecord::Base
has_many :ads, :class_name => ( lambda { return self.item_type } )
end
или
class Category < ActiveRecord::Base
has_many :ads, :class_name => self.item_type
end
Но я получил ошибки:
can't convert Proc into String
или
undefined method `item_type' for #<Class:0xb62c6c88>
РЕДАКТИРОВАНИЕ у меня есть два различных типов Рекламы
LeaseAd
, RentAd
они реализовали использующее единственное наследование таблицы
Затем я имею Category
из рекламы, как вложено установлено. Я хотел бы указать dinamicly, которому принадлежит тип рекламы Category
объект.
Спасибо за любую справку!
can't convert Proc into String
означает, что rails ожидает String
undefined method `item_type' for #<Class:0xb62c6c88>
означает, что вы не определили item_type
для Class
-object
Я считаю, что то, что вы хотите здесь, невозможно таким образом.
Я бы использовал что-то вроде singletable-наследования для объявлений и их подтипов.