关联不同类型的列

时间:2016-02-29 08:37:18

标签: ruby-on-rails ruby associations

我有两种模式:

  • A,带有临时id字段(整数)
  • B,它有一个字段A_id - 它是一个字符串,但实际上是一个"外键"对于A.值匹配,所以从技术上讲,我只需要投射它。

在这种情况下是否可以建立关联?迁移是一种选择,但我宁愿避免它。

2 个答案:

答案 0 :(得分:1)

基本上,它会起作用。但理论上它是错误的,因为id是以整数定义的,但你在另一个地方使用A_id作为字符串。这是一种混乱的数据类型。幸运的是,Ruby并不需要你将String转换为Integer。但是你建议在模型引用中遵循Ruby约定,它使用Integer。

答案 1 :(得分:0)

这是愚蠢的 - 你只是建立了一个关联,它的确有效。