最佳位置不是函数 Rails 5

Best In Place Is not a function Rails 5

我正在 Rails 5.1.6 / ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu] 中进行项目 我的问题是,按照 gem best_in_place 的文档一步步操作,我得到一个错误。 错误:

我对文档有点复杂,因为它没有完全解释如何在 Rails 5 中实现 gem。 任何帮助都是有用的。 非常感谢!

重要数据: 资产/javascripts/application.js

资产/javascripts/use_best_in_place.js

宝石文件

gem 列表

浏览量/布局/application.html.erb

根据分享的描述,需要更改 下面提到的配置。

//= require rails-ujs
//= require turbolinks
//= require jquery
//= require best_in_place
//= require best_in_place.jquery-ui
//= require twitter/bootstrap
//= require_tree .

给这个

//= require rails-ujs
//= require jquery
//= require turbolinks
//= require best_in_place
//= require best_in_place.jquery-ui
//= require twitter/bootstrap
//= require_tree .

始终在 jquery 之后保留 turbolinks,并在 turbolinks 加载后尝试加载 best_in_place() 函数。

# application.js
//= require rails-ujs
//= require jquery
//= require turbolinks
//= require best_in_place
//= require best_in_place.jquery-ui
//= require twitter/bootstrap
//= require_tree .

# assets / javascripts / use_best_in_place.js
$(document).on('turbolinks:load',function(){ 
   jQuery(".best_in_place").best_in_place();
}

为什么要加载 jquery 两次?一个在 application.js 中,另一个在视图中?

尝试删除视图中的那个,它应该可以正常工作。

只需从您的 application.html 布局中删除这一行(jquery 已经在 jquery-rails gem 的 application.js 中需要):

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>

应该是这样的。