Вот мои модели:
class BillingProfile < ActiveRecord::Base
belongs_to :student
attr_accessible :cost
end
class PerEventBillingProfile < BillingProfile
belongs_to :event_category
end
class FlatFeeBillingProfile < BillingProfile
attr_accessible :interval, :frequency
end
Студенты могут иметь много профилей оплаты обоих типов. Мне бы хотелось, чтобы в моей форме создания студента был переключатель, позволяющий пользователю выбирать между созданием PerEventBillingProfile и FlatFeeBillingProfile. При выборе радио для каждого события будут отображаться поля для PerEventBillingProfile, и наоборот. Чтобы это произошло с этой моделью, кажется, мне нужно сделать:
class Student < ActiveRecord::Base
has_many :per_event_billing_profiles
has_many :flat_fee_billing_profiles
accepts_nested_attributes_for :per_event_billing_profiles
accepts_nested_attributes_for :flat_fee_billing_profiles
end
Такое ощущение, что это может быть проще. Есть ли более простой способ получить то, что я хочу? Я понимаю, что могу сложить все это в одну модель и просто добавить в столбцы несколько значений NULL, но мне это тоже не нравится.