2012-11-03 62 views
0

我想在我的發帖腳手架中顯示作者的姓名。 我有一個帖子和用戶表。從其他表中顯示作者姓名

posts表中有一個author_id行,它是從用戶錶鏈接到ID的。

我樁模型:

belongs_to :user 

而且用戶模式:

has_many :posts, dependent: :destroy 

我該怎麼讓從users表中的作者名在後?

**Users format** 
ID   integer 
name string 

**Posts format** 
ID   integer 
title string 
content text 
author_id integer 

這適用於展會的看法:

def show 
@post = Post.find(params[:id]) 
@author = User.where(:id => @post.author_id).first 

這對指數的看法:

def index 
@posts = Post.all 
@posts.each do |post| 
    @author = User.where(:id => @post.author_id).first 
end 

但是索引視圖沒有按不行!

+0

您能夠顯示這兩個表的結構? – dmarges

回答

0
Post.where(....).each do |post| 
    post.author 
end 
+0

我不知道如何精確使用你的代碼,但是像這樣? DEF顯示 @post = Post.find(PARAMS [:ID]) 用戶= User.where(:ID => @ post.author_id)。首先 端 –

+0

@ post.author會給你正在尋找用戶對於。 –

+0

沒錯,任何發佈對象都會有一個作者方法來獲取其作者。 – Satya

-2

對於索引視圖:

@articles.each do |article| 
    @author = Author.where(:id => article.author_id).first 
end 
+0

它絕對解決了這個問題 –