Я собираюсь использовать STI в своем приложении Rails 2.3.
Я смоделировал это следующим образом:
Базовый класс:
class Tariff < ActiveRecord::Base
def self.inherited(child)
child.instance_eval do
def model_name
Tariff.model_name
end
end
super
end
def self.select_options
descendants.map { |c| c.to_s }.sort
end
end
Его подклассы:
class FlatRateTariff < Tariff
end
class TimeOfUseTariff < Tariff
has_many :tariffing_periods, :dependent => :destroy
accepts_nested_attributes_for :tariffing_periods, :allow_destroy => true
end
Когда я пытаюсь создать form_for: тариф , я получаю неопределенный метод тарификации_periods для тарифа . Как я должен идти о моделировании этого сценария? Должен ли я поместить ассоциацию has_many в родительский класс?