Ruby on rails 在此场景中如何定义模型和关联?

Ruby on rails 在此场景中如何定义模型和关联?,ruby-on-rails,ruby-on-rails-3,activerecord,ruby-on-rails-4,activemodel,Ruby On Rails,Ruby On Rails 3,Activerecord,Ruby On Rails 4,Activemodel,假设我有一个带有记录的模型Relleno(Relleno\u id,descripion): (1, Activo) (2, Inactivo) (3, DNI) (4, LC) (5, LE) 然后,我想用这个模型连接两个实体:Chofer(nombre,estado)和Cliente(modelo,tipdoc),其中 Chofer.estado可以具有Relleno.Relleno_id的值1或2,以及 Cliente.tipdoc可以具有Relleno.Relleno_id的值3、4

假设我有一个带有记录的模型
Relleno(Relleno\u id,descripion)

(1, Activo)
(2, Inactivo)
(3, DNI)
(4, LC)
(5, LE)
然后,我想用这个模型连接两个实体:
Chofer(nombre,estado)
Cliente(modelo,tipdoc)
,其中

  • Chofer.estado可以具有Relleno.Relleno_id的值1或2,以及
  • Cliente.tipdoc可以具有Relleno.Relleno_id的值3、4或5
由于实体中字段的名称不同(例如,在Relleno中为*Relleno_id*,但在Chofer中为estado),我对如何建模相应的迁移和关联感到困惑


您能帮助我吗?

Rails关联涉及一个模型通过另一个的主id引用另一个模型。我所知道的任何机制都不允许您仅根据非主id字段定义关联,正如您在这里所描述的那样。如果我误解了,而这不是你要求的,我道歉。

你是指“Relleno.codigo的值1或2”(即
codigo
而不是
code
)?@PeterAlfvin是的,谢谢你指出这个错误谢谢你的回复。我的问题错了,现在请再读一遍。当我谈论Relleno.Relleno\u id时,我正在谈论Relleno.code。现在,关联基于Relleno的主键Relleno\u id。
Rellono
的主键通常是
Relleno.id
,而不是
Rellono.relloni\u id
。你真的有不同的定义吗?