我正在尝试为网站的每个用户触发destroy.js.erb操作,以便在不需要刷新的情况下立即删除每个用户屏幕上删除的注释。
comments_controller.rb
def destroy
@comment = Comment.find(params[:id])
respond_to do |format|
format.js {}
end
@comment.destroy
end
destroy.js.erb
$('[data-id="<%= @comment.id %>"]').remove();
我完全可以使用此脚本立即向网站添加新评论,但我无法弄清楚如何为已删除的元素实现相同的效果。
index.html.erb
<script>
$(function() {
setTimeout(updateComments, 10000);
});
function updateComments () {
var after = $(".comment:first-child").attr("data-time");
$.getScript("/comments.js?after=" + after)
setTimeout(updateComments, 10000);
}
</script>
index.js.erb的
$("#comments").prepend("<%= raw escape_javascript(render :partial => 'comments') %>")
答案 0 :(得分:0)