从表中选择一行并显示名称

时间:2013-10-08 09:57:11

标签: ruby-on-rails activerecord ruby-on-rails-4

我有两个实体ProjectDomain。项目has_many域和域belongs_to项目,但domain_id存储在项目表中。

在rails c中我试过

p = Project.first d = Domain.where(id: p.domain_id)

我得到了

Domain Load (0.2ms) SELECT "domains".* FROM "domains" WHERE "domains"."id" = 1 => #<ActiveRecord::Relation [#<Domain id: 1, name: "alex.com", created_at: ...">]>

当我尝试

d.name =&gt;结果是'Domain'而不是alex.com

2.0.0-p247 :007 > d.name => "Domain"

为什么会这样?

谢谢

1 个答案:

答案 0 :(得分:2)

这是一个关系ActiveRecord::Relation所以透明的结果数组。尝试在其上调用first以获取实际对象。