2009-08-15 40 views
0

的Rails 2.3.3顯示用戶信息爲每個崗位

數據庫和模型模式

用戶(ID,姓名,電子郵件)

職位(ID,主題,郵件,USER_ID)

如何顯示已創建特定帖子的用戶的name

 
#posts controller 
#index action - retrieves all posts in descending order. 
#I also want it to retrieve user information of that post 

def index 
    @posts = Post.all(:order => "created_at DESC") 
    respond_to do |format| 
     format.html 
    end 
end 
 
#partial _post.html.erb 

Posted by "??how can show the user name here??"

我已經修改了user.rbpost.rb與活動記錄協會已成立的外鍵。即post.user_id參考user.id

但是,如何在index操作中顯示每個帖子的用戶信息?

回答

2

<%= post.user.name%>假定帖子記錄具有存儲的有效user_id。

+0

謝謝:) 我有一個懷疑它會是這樣的事情,並感謝回答這麼快:) – Mike 2009-08-15 10:31:24

+0

不客氣:-)退房http://railscasts.com和http://asciicasts.com(文字版本的railscasts)爲非常好的rails教程。 – 2009-08-15 10:36:55

1

我會將你的問題的更大版本定義爲:「我如何理清我的Ruby on Rails應用程序中模型之間的關係?」

我發現最有用的是使用「腳本/控制檯」來探索可用的。

在終端,cd到你的軌道根,進入「腳本/控制檯」這將推出一個新的命令行,你可以在創建對象。

在這種情況下,你可以像下面輸入一些理清什麼是可用的。

p = Post.find(:first) 

p.user 

p.user.name 
0

您可以在您的導軌控制檯中查看。 Post.first.user.name

您想在視圖中顯示它,然後, @ posts.each do | post | <%= post.user.name%> end

希望它能幫上忙。