在Ruby on Rails Guide中,imageable
是模特吗? imageable
是否有数据库表?
imageable_id
如何指向员工和产品的两个不同id
属性?
答案 0 :(得分:4)
不,在您链接的页面中,imageable表示与Employee或Product的多态关联。为了使多态关联起作用,rails需要通过查看db中的'imageable_type'条目然后查看相应对象的id(imageable_id)来确定对象的“类型”(即Employee或Product)。 )。
例如,imageable_type =>的数据库中的条目'员工'和imageable_id => '4'。 ActiveRecord会发现关联是在employees表中的id 4。
答案 1 :(得分:2)
imageable_type帮助rails了解模型属于哪个类。
在使用imageable:references
生成模型时,rails会在您的迁移中自动生成imageable_id和imageable_type列。
答案 2 :(得分:1)
可成像不是模特。它是某个模型的占位符(在这种情况下是Employee或Product)。
imageable_id
指向不同类型ID的方式是Picture还具有imageable_type
属性。对于给定的Picture实例,它通过查看imageable_id
来了解ID imageable_type
代表什么类型。