ActiveRecord多态关联:使ID长而不是整数?

时间:2016-04-03 02:23:14

标签: ruby-on-rails activerecord associations

将此作为定义多态关联的看似唯一方式:

t.references :poly_column, :polymorphic => true

如何使结果poly_column_id使用long类型而不是integer(默认)?

2 个答案:

答案 0 :(得分:2)

您可以在创建表格后change_column明确使用您需要的任何内容。

答案 1 :(得分:1)

查看RailsGuides。我们的第一个问题应该是t.references :poly_column, :polymorphic => true实际做了什么?根据指南中的示例,我们可能希望它是t.integer :imageable_idt.string :imageable_type的快捷方式,我们也可以在RailsAPI中确认。所以相反,只需自己定义:

t.long :poly_column_id
t.string :poly_column_type