2012-04-08 7 views
0

友人が投稿できるtwiiterのアプリを作成しましたが、すべての投稿がリストに表示されている投稿の名前をincludeにしたいと思います。ここユーザーと関連付けられた投稿

は、「ユーザーが多く投稿している」関連付けが設定され、ユーザモデルは「ユーザ名」フィールドを持っている、あなたはあなたのビューでこれを行うことができ、もちろん、と仮定すると、私のコード

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' iがポストコントローラ –

+0

に何を配置する必要があります。これは、あなたのポストが添付されていないことを意味します特定のユーザーに関連付けられているため、関連付けは不要です。エラーが発生しないようにするには、 '<%= post.user.try(:username)%>' – Spyros

+0

'<%= div_for post do%>に行を変更することができます。

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

<%= post.message%>

<% end %> ' –

関連する問題