【发布时间】:2018-11-21 03:21:09
【问题描述】:
我有一个继承自其他基础模型的模型:
class Instructor < User
我有另一个具有多态关联的模型:
class SiteResource < ApplicationRecord
belongs_to :site
belongs_to :resource, polymorphic: true
end
但是当我创建新对象时,它的资源类型是用户,而不是教师
irb(main):005:0> SiteResource.create(site: Site.first, resource: Instructor.first)
+----+---------+-------------+---------------+--------+-------------------------+-------------------------+
| id | site_id | resource_id | resource_type | status | created_at | updated_at |
+----+---------+-------------+---------------+--------+-------------------------+-------------------------+
| 2 | 1 | 21 | User | 1 | 2018-06-11 19:47:29 UTC | 2018-06-11 19:47:29 UTC |
+----+---------+-------------+---------------+--------+-------------------------+-------------------------+
这是:
- 有意?
- 有用吗?
- 坏消息?
- 可配置?
【问题讨论】:
-
嗯,我猜从 ActiveRecord 模型继承的模型本身并不是 Activerecord 模型(嗯..)。这里有一个关于它是如何存储的解释api.rubyonrails.org/classes/ActiveRecord/Inheritance.html我从来没有使用过这样的设计,你对这种继承模型的目标是什么?
标签: ruby-on-rails polymorphic-associations