2012-04-08 71 views
0

我創建了一個類似於應用程序的twiiter,朋友可以在其中發帖,但是我想要在顯示所有帖子的列表中包含創建帖子的人員的姓名。用戶及相關文章

這裏是我的代碼

class PostsController < ApplicationController 
    def index 
    @posts = Post.all(:order => "created_at DESC") 

    respond_to do |format| 
     format.html 
    end 
    end 

    def create 
    @post = Post.create(:message => params[:message]) 

    respond_to do |format| 
     if @post.save 
     format.html { redirect_to posts_path } 
     format.js 
     else 
     flash[:notice] = "Message failed to save." 
     format.html { redirect_to posts_path } 
     end 
    end 
    end 
end 
` 

回答

1

假設,當然,前提是「用戶有很多帖子協會設置,用戶模式有一個「用戶名」字段中,您可以在您的視圖做到這一點:

<% @posts.each do |post| %> 
    <%= post.user.username %> 
<% end %> 
+0

它擁有所有你說的,但我得到的錯誤消息'未定義的方法'用戶名」的零:NilClass'我是否需要將任何東西在崗控制器 – 2012-04-08 10:20:41

+0

這意味着,您的文章沒有連接給特定的用戶,因此該關聯是零。爲避免發生錯誤,您可以將該行更改爲'<%= post.user.try(:username)%>' – Spyros 2012-04-08 10:29:04

+0

'<%= div_for post do%>

<%= time_ago_in_words(post.created_at) %>前

<%= post.message%>

<% end %>' – 2012-04-08 10:32:26