best_in_place不是一个函数

时间:2016-10-10 18:26:22

标签: javascript jquery ruby-on-rails best-in-place

我无法让它发挥作用。我已经按照here描述的安装过程进行了操作。该网站上的其他解决方案没有帮助。我一直在开发人员工具

上收到此错误
  

static_pages.self-8c8a5c3 ... .js?body = 1:7 Uncaught TypeError:   JQuery(...)。best_in_place不是函数

在控制器的咖啡文件上:

if ((input[i] == 'cat') || (input[i] == 'dog'))){
  obj1[input[i]] = obj1[input[i]] || 0;
  obj1[input[i]]++
}
else if ((input[i] == 'penguin') || (input[i] == 'chicken')){
  obj2[input[i]] = obj2[input[i]] || 0;
  obj2[input[i]]++
}
return {obj1, obj2}

我也试过在视图本身上调用它

$(document).on 'ready page:load', ->
  jQuery(".best_in_place").best_in_place();
  return

的application.js

<script type = 'text/javascript'>
 $(document).ready(function() {
   /* Activating Best In Place */
   jQuery(".best_in_place").best_in_place();
});
</script>

我甚至尝试过没有best_in_place.jquery-ui并且更改了best_in_place的require_tree下面的顺序

这是我的Gemfile:

//= require jquery
//= require best_in_place
//= require jquery.turbolinks
//= require jquery_ujs
//= require jquery-ui
//= require best_in_place.jquery-ui
//= require bootstrap
//= require turbolinks 
//= require_tree . 

我已尝试使用gem'best_in_place',github:'bernat / best_in_place',正如一些网站建议的那样。

1 个答案:

答案 0 :(得分:1)

我正在重新定义Jquery库。正如在documentation中所表达的那样,Best-in-place应该放在app.js上的Jquery之后

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require jquery-ui
//= require best_in_place
//= require best_in_place.jquery-ui

但我的applications.html.erb有以下内容:

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> 

覆盖我之前的声明。