The problem with Ajax based micropost's comments

I have ajax based micropost's comments on the user page. It works, but not correctly. When I submit a new comment to ANY micropost, it always posts to the LAST micropost! Then, if I refresh the page by "F5", everything falls into place - the new comment is in the correct micropost. What I'm doing wrong? Thanks in advance.

comment.rb

class Comment < ActiveRecord::Base   attr_accessible :comment_content   belongs_to :user   belongs_to :micropost end

comments_controller.rb

class CommentsController < ApplicationController   before_filter :signed_in_user, only: [:create, :destroy]

   def create     @micropost = Micropost.find(params[:micropost_id])     @comment = Comment.new(params[:comment])     @comment.micropost = @micropost     @comment.user = current_user       respond_to do |format|       @comment.save            format.html { redirect_to current_user }            format.js       end    end end

_micropost.html.erb

<tr>   <td class="micropost">     <span class="content"><%= wrap(micropost.content) %></span>     <span class="timestamp">     Posted <%= time_ago_in_words(micropost.created_at) %> ago.     </span>     <%= render 'shared/comment_form', micropost: micropost %>    <div id="comments">      <%= render micropost.comments %>    </div>   </td> </tr>

_comment_form.html.erb

<%= form_for ([micropost, @comment]), :remote => true do |f| %> <%= render 'shared/error_messages', object: f.object %> <%= f.text_area :comment_content, :size => "40x2" %>   <button class="btn" type="submit">     Comment   </button> <% end %>

_comment.html.erb

<span style="width: 100%; background:#dff0d8"><%= wrap(comment.comment_content) %></span> <span class="timestamp"> Posted by <%= comment.user.name %> <%= time_ago_in_words(comment.created_at) %> ago. </span>

create.js.erb

$('#comments').html("<%= escape_javascript(render(:partial => @micropost.comments)) %>");

I have ajax based micropost's comments on the user page. It works, but not correctly. When I submit a new comment to ANY micropost, it always posts to the LAST micropost! Then, if I refresh the page by "F5", everything falls into place - the new comment is in the correct micropost. What I'm doing wrong? Thanks in advance.

First look in development.log and check that the correct parameters are being passed in. Then have a look at the Rails Guide on Debugging which will show you a number of techniques that can be used to debug the code.

Colin