未捕获的 TypeError 不是 AJAX 回调函数

Uncaught TypeError is not a function on AJAX callback

在我的 application.js 文件中,我有以下内容:

$(document).ready(function() {
  /* Activating Best In Place */
  jQuery(".best_in_place").best_in_place();

  $('.highlight_on_success').bind("ajax:success", function(){$(this).closest('div.social-comment').effect('highlight');});
});

我正在使用 Best In Place gem,它让我可以在 best_in_place 调用中使用上述函数。

但是,当我使用它时,我的 JS 控制台出现这个错误:

Uncaught TypeError: $(...).closest(...).effect is not a function application.self-440dd817e40548768e9.js:25 

如何解决这个问题并使其正常工作?

effect() 是 jQueryUI 的一部分,而不是 jQuery 核心,所以要么需要找到一个不同的编辑脚本,除了一些 css 或也在页面中使用 jQueryUI 以包含该功能。

就我个人而言,我会寻找不同的编辑器,例如 X-ediable 或其他类似的插件