如何在没有刷新页面的情况下显示新评论?

时间:2015-08-12 01:30:31

标签: javascript jquery ruby-on-rails ajax coffeescript

我尝试使用acts_as_commentable_with_threading gem向我的网站添加评论。我遵循本指南

http://twocentstudios.com/blog/2012/11/15/simple-ajax-comments-with-rails/

并且评论似乎工作正常,但是,当我添加新评论时,我需要刷新页面以显示评论。但是,当我删除评论时,它就会消失,而不必刷新页面。这就是我在咖啡文件中创建和删除操作的内容。 (这取自我上面链接的指南)

comments.js.coffee

jQuery ->
      # Create a comment
      $(".comment-form")
        .on "ajax:beforeSend", (evt, xhr, settings) ->
          $(this).find('textarea')
            .addClass('uneditable-input')
            .attr('disabled', 'disabled');
        .on "ajax:success", (evt, data, status, xhr) ->
          $(this).find('textarea')
            .removeClass('uneditable-input')
            .removeAttr('disabled', 'disabled')
            .val('');
          $(xhr.responseText).hide().insertAfter($(this)).show('slow')

      # Delete a comment
      $(document)
        .on "ajax:beforeSend", ".comment", ->
          $(this).fadeTo('fast', 0.5)
        .on "ajax:success", ".comment", ->
          $(this).hide('fast')
        .on "ajax:error", ".comment", ->
          $(this).fadeTo('fast', 1)

是否自动显示评论的功能而不刷新此代码未处理的页面?感谢

编辑:似乎ajax请求在创建评论时并不成功,因为当我将其更改为ajax:complete时,它会半成功。文本区域已重新启用,但评论仍未显示。我怎么知道ajax请求失败的原因?

0 个答案:

没有答案