2017-05-03 141 views
0

我正在使用設計並將我的模型的名稱設置爲User。當我創建後的模型我輸入了以下:在rails中引用屬於另一個模型類的字段

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 

基本上就是我'試圖做的是獲取用戶的電子郵件。

<%= post.user.email %> 

回答

1

在你的控制器:

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

在視圖:

post.user.email 

建議: 使用

1

您可以通過模型來獲得相關的模型只是達到分頁作爲一次獲取​​所有記錄是不可行和可擴展的。

+0

這將是N + 1 –

+0

'@posts = Post.preload(:user).all' – Ruslan

相關問題