【发布时间】:2011-11-07 04:06:57
【问题描述】:
我即将在我的 Rails 2.3 应用程序中使用 STI。
我已经按照以下方式对其进行了建模:
基类:
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 :tariff 时,我得到了一个 未定义的方法 `tariffing_periods' for Tariff。我应该如何对这种情况进行建模?我应该把 has_many 关联放在父类上吗?
【问题讨论】:
标签: ruby-on-rails sti