У меня проблема с корректной работой моей модели данных.
У меня есть следующие модели и подмодели.
class Horse < ActiveRecord::Base
has_one :connection
has_one :trainer, :through => :connection
has_one :owner, :through => :connection
end
class User < ActiverRecord::Base #Single table inheritance
has_many :connections
has_many :horses, :through => :connections
end
class Owner < User
#owner specific code
end
class Trainer < User
#trainer specific code
end
class Connection < ActiveRecord::Base #join table
belongs_to :horse
belongs_to :owner
belongs_to :trainer
end
Я успешно создал лошадей, владельцев, дрессировщиков и связи со всеми заполненными типами полями. Когда я набираю Horse.all в консоли, он возвращает всех лошадей, как и ожидалось. То же самое верно для User.all Connections.all Trainer.all и Owner.all.
Теперь, однако, я пытаюсь сделать что-то вроде. Horse.trainer и Horse.owner, чтобы вернуть тренера и владельца для лошади. Когда я пытаюсь это сделать, я получаю ошибку method_missing. Я думал, что ассоциации, которые я создал, позволят этому работать. Я уже давно бьюсь головой о стену, поэтому, если кто-нибудь сможет предложить какое-либо понимание или совет, я буду признателен.