我有两个模型(客户端和项目)连接如下:
class Project < ActiveRecord::Base
belongs_to :cliente
end
class Cliente < ActiveRecord::Base
has_many :projects
end
项目的架构中有:cliente_id
列,所以如果我这样做:
Project.cliente_id
我会正确地获得cliente_id。
我的疑问是,我想从它的ID中获取客户名称,所以我需要这样的内容:
Project.cliente_id.name
检索此信息的正确方法是什么?
答案 0 :(得分:2)
您可以使用Cliente
获取完整的project.cliente
对象(请注意,_id
未使用)。因此,您可以像常规Cliente
一样使用它;例如,要获得name
,请执行以下操作:
project = Project.find(1)
project.cliente.name
答案 1 :(得分:2)
您可以找到关联的对象through the association:
project = Project.find(1) # Returns the full `project` object
project.cliente # Returns the full `cliente` object
project.cliente.name # Returns just the `name` attribute
project.cliente_id == project.cliente.id # Returns true