我有两个模型(客户端和项目)连接如下:
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
检索此信息的正确方法是什么?
你找到相关的对象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
您可以使用Cliente
获取完整的project.cliente
对象(请注意,不使用_id
)。所以你可以像常规的Cliente
一样使用它;例如,要获得name
只需:
project = Project.find(1)
project.cliente.name