Rails:使用Ajax进行部分渲染无法正常工作 - 像FB一样评论系统

时间:2012-02-28 22:42:25

标签: ruby-on-rails ajax ruby-on-rails-3 jquery

我制作了一个评论系统,可以在微博下发表评论,但问题是整个页面刷新而不仅仅是facebook这样的评论部分区域。我认为这可能与我的create.js有关,但我不确定。任何建议将不胜感激!谢谢!

这是 create.js 的当前js:

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

评论控制器

class CommentsController < ApplicationController 
  def create
    @micropost = Micropost.find(params[:micropost_id])
    @comment = @micropost.comments.build(params[:comment])
    @comment.user_id = current_user.id
    @comment.save 
      respond_to do |format|
      format.html 
      format.js
    end
  end
end

评论栏

<div id='CommentContainer-<%= micropost.id%>' class='CommentContainer Condensed2'>
<div class='Comment'>
<%= render :partial => "comments/form", :locals => { :micropost => micropost } %>
</div>
<div id='comments'>
<%=render micropost.comments %>
</div>
</div>

1 个答案:

答案 0 :(得分:1)

您需要确保注释表单是远程提交的(:remote => true),并且您的注释部分可以处理来自服务器的响应,并且表单函数响应js / json