我想在我的帖子中添加评论功能。我可以添加一次评论,无需重新加载即可渲染部分,但是当我添加另一个评论时,它只渲染部分(没有别的)这是我正在调用的创建方法:
def create
@comment = Comment.new(params[:comment])
@snippet = @comment.snippet
@comment.save
@comment = Comment.new
render :partial => "snippets/comment"
end
Javascript:
$(document).ready( function(){
save_comment();
});
function save_comment() {
$("#new_comment").submit(function (e) {
e.preventDefault();
var url = "/comments/create";
var post_data = $('#new_comment').serialize();
logger(post_data);
post_data = add_auth_token(post_data); // add authenticity token to post for forgery protection (works fine)
$.post(url,
post_data,
function(data) {
$("#comments_container").html(data);
$("#comment_value").val("");
});
});
}
和形式
<%= form_for(@comment) do |f| %>
<%= f.text_field :value %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.hidden_field :snippet_id, :value => @snippet.id %>
<div class="actions">
<%= f.submit "Post" %>
</div>
<% end %>