什么是用于多态的_type列?

ste*_*ang 3 database polymorphism model ruby-on-rails

Rails指南,要在一个模型上建立多态关系,我需要为相应的表添加两列.

如下图所示,该_id列用作外键.但我无法弄清楚该_type列的用法?它的用途是什么?

在此输入图像描述

Rya*_*igg 5

_type列用于标识它来自哪个资源.在这种情况下,多态资源可以是Employee或中的一个Product.换句话说:图像可以涉及一产品或雇员.

_type列将只包含"Employee"或"Product"的字符串.访问此关联时,Rails将使用它来了解用于加载关联对象的模型.

  • 或者等效地,`_type`告诉你要查看哪个模型/表,而`_id`告诉你哪个实例/行. (2认同)