Представьте себе сценарий:
У меня есть класс с разными типами учеников.У всех студентов есть похожие атрибуты, но у каждого типа студентов также есть уникальные атрибуты.Поэтому я использовал MTI, чтобы сохранить общие атрибуты в таблице студентов и отдельные атрибуты в их соответствующей таблице, а также полиморфизм для абстрагирования типа студента при работе с ними с точки зрения класса.Я следовал этому уроку: http://techspry.com/ruby_and_rails/multiple-table-inheritance-in-rails-3/.
Из этого я попал в следующие модели:
class Clazz < ActiveRecord::Base
has_many :students
end
class Student < ActiveRecord::Base
belongs_to :stu, :polymorphic => true
belongs_to :clazz
end
class Student1 < ActiveRecord::Base
has_one :student, :as => :stu
end
class Student2 < ActiveRecord::Base
has_one :student, :as => :stu
end
Моя проблема возникает, когда я хочу создать экземпляр конкретного ученика (косвенно связанного с классом черезученик).Я не могу сделать это из класса, потому что у него нет связи с конкретными учениками, и когда я пытаюсь создать экземпляр непосредственно, он говорит, что не распознает поле «: class».
Student1.new(:clazz => @clazz, ... [other atributes]...)
unknown attribute: :class
Может кто-нибудь дать мне подсказку о том, как этого добиться?Tks