不属于红宝石和铁轨

时间:2014-04-27 05:35:17

标签: ruby-on-rails belongs-to

我在db中创建了两个表。第一个表是users,其中包含列:

id, name

第二个表格为microposts,其中包含以下列:

id, content, user_id

这是我的Micropost型号

class Micropost < ActiveRecord::Base
    belongs_to :user
    validates :content, length: { maximum:20 }
end

这是我MicropostController

中的索引方法
def index
    @microposts = Micropost.all
end

当我像这样检查索引视图时

<%= debug @microposts %>

我得到了这个结果

---
- !ruby/object:Micropost
  attributes:
    id: 1
    content: new micropost
    user_id: 1
    created_at: 2014-04-12 10:56:04.000000000 Z
    updated_at: 2014-04-12 10:56:04.000000000 Z

我没有得到关系的用户表数据。我怎么能这样做?

这是User型号:

class User < ActiveRecord::Base
    has_many :micropost
end

1 个答案:

答案 0 :(得分:2)

如果您想获得拥有micropost的用户,则应使用micropost.user。例如:@microposts.first.user将返回@ microposts的第一条记录的用户。