Если вы хотите, чтобы существовали те же записи, что и у потомков двух классов, это не полиморфно;это просто путанное наследство.Либо Tutor has_many :sessions
, и Session has_many :fields
, и, следовательно, Tutor has_many :fields, :through => :sessions
, либо поочередно, Tutor has_many Sessions, :as => :fieldable
, Session has_many :fields, :as :feildable
и Field belongs_to :fieldable, :polymorphic => true
, но это исключит возможность совместного использования Tutor и Session поле.
Так что вам нужно это выяснить.Тогда вы можете потренироваться в здравом уме.Но, как бы у вас это ни было, вы никогда не сможете нормализовать модель данных.Даже для Rails-приложений вы должны придерживаться 3NF как минимального стандарта, ИМХО.