4

Я пытаюсь реализовать множественное наследование таблиц с помощью ActiveRecord. Похоже, все доступные драгоценные камни довольно старые. Я что-то упускаю? Есть ли «родной» способ реализовать это с помощью activerecord? Я использую Rails 3.2.3 и 3.2.1 ActiveRecordМножественное наследование таблиц Rails и activerecord

+1

Существует много путаницы среди разработчиков, касающихся точных различия между несколькими табличными-наследованиями против одного-стол- inheritance vs class-table-inheritance. Я думаю, что важно определить, на что вы полагаете, что имеете в виду, прежде чем я смогу правильно дать вам ответ. Это определенно тема, представляющая для меня интерес, поэтому, пожалуйста, разместите обновление, если у вас есть какая-либо новая информация. :) –

ответ

1

Single Table Inheritance (где каждый автомобиль и грузовик доля одна базы данных)

class Vehicle < ActiveRecord 
end 

class Car < Vehicle 
end 

class Truck < Vehicle 
end 

В вашем случае, если вы не разделяете базу данных, а скорее функции. Затем вы должны написать модуль и включить его в каждой модели

class Car < ActiveRecord 
    extend VehicleFinders 
end 

class Truck < ActiveRecord 
    extend VehicleFinders 
end 

module VehicleFinders 
    def find_purchased 
    #... 
    end 
end 

Таким образом, в методе extend модуля являются метод класса по этому вызывающему классу. Методы include модуля являются методом экземпляра для объекта вызова класса

Это может быть хорошим чтением для вас http://raysrashmi.com/2012/05/05/enhance-rails-models

+0

Ссылки больше не работают. – zode64

+0

новая ссылка http://raysrashmi.com/2012/05/05/enhance-rails-models без .html в конце –