引用属于rails中另一个模型类的字段

时间:2017-05-03 19:40:29

标签: ruby-on-rails ruby devise erb

我正在使用设计并将我的模型名称设置为User。当我创建帖子模型时,我输入以下内容:

 rails g model Post title body:text user:references

在帖子部分视图的索引页面上每当用户使用以下代码发布时,我都可以看到所有用户的ID号:

<div class="container-fluid">
<% @posts.each do |post| %>
<div class="row">
<div class="jumbotron">
      <div class="page-header">
        <h1><%= post.title %> <small>by: 
       <%= post.user_id %></small></h1>
      </div>
    </div>
</div>
  

我的帖子控制器类中的@posts变量是:

@posts = Post.all

基本上我想做的是获取用户电子邮件。

2 个答案:

答案 0 :(得分:1)

您只需浏览模型即可获得相关模型:

<%= post.user.email %>

答案 1 :(得分:1)

在您的控制器中:

@posts = Post.includes(:user).all

在视图中:

post.user.email

建议: 使用分页作为一次获取​​所有记录是不可行的,并且从长远来看是可扩展的。