我正在Rails 4应用程序中实现注释。 我想创建注释并删除注释以使用Ajax远程工作。
除了新添加的评论的删除链接不起作用外,它工作正常。
为新创建的项目制作删除链接的最佳方法是什么?
.post
%h1= @post.name
%h2 Comments
= render 'comments/form', comment: @comment
%ul#comments
= render 'comments/comment', :collection => @post.comments, :as => :comment
.comment-form
= simple_form_for comment, :remote => true do |f|
= f.input :body, :input_html => { :rows => "2" }, :label => false
= f.button :submit, :class => "btn btn-primary"
%li{:"data-id"=>comment.id}
=comment.body
%br
= link_to "Destroy", comment_path(comment), :confirm => "Are you sure?", :method => :delete, remote: true, :class=>'link_comment_delete'
$('#comments li[data-id=<%=@comment.id%>]').hide();
$("#comments").append("<li><%= escape_javascript render @comment %></li>");
// ??? what to write here to make Delete link work
答案 0 :(得分:1)
我遇到了相同的情况,最后使用delete
重新考虑.closest
视图,而不是与data-id
绑定,因此您可以执行以下操作:< / p>
$("a.link_comment_delete").on('ajax:complete',function(e) {
$(this).closest('div.comment.body [or whatever class / id you are using]').fadeOut(100)
});