我有三个模型。
Mailing
has_many :trackers, :as => :trackable
has_many :links
Link
belongs_to :mailing
has_many :trackers, :as => :trackable
Tracker
belongs_to :trackable, :polymorphic => true
跟踪器表具有以下列
trackable_id trackable_type
假设我有一个 id 为 1 的邮件对象。
我想获取“链接”和“邮件”类型的所有可跟踪对象
mailing = Mailing.find(1)
mailing.trackers 给了我所有匹配 trackable_type = "Mailing" trackable_id = 1 的对象
我想从两种可跟踪类型的跟踪器中获取此邮件的所有记录。
当我做
mailing.trackers.where(:tracker_id => mailing.links, :trackable_type => "Link")
我什么都得不到。
我怎样才能得到这些数据?
谢谢