Ruby on Rails best_in_place宝石抛出错误

时间:2013-08-30 20:29:09

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

我正在关注https://github.com/bernat/best_in_place的指南 当我运行我的应用程序时,我得到以下错误:这是什么意思???

%table
  - @schedules.each do |s|
    %tr
      %td= best_in_place s, :name

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

Uncaught TypeError: Object [object Object] has no method 'best_in_place'

4 个答案:

答案 0 :(得分:1)

首先,您需要确保将best_in_place gem安装到您的环境中,并将JavaScript文件导入HTML。如果您正在使用资产管道(Rails 3.1+),则可以将其包含在JavaScript清单中:

# app/assets/javascripts/application.js
//= require jquery
//= require jquery-ui
//= require best_in_place

然后,确保脚本具有可绑定的HTML DOM元素,并在以下位置执行best_in_class函数:

# in your view
<div class="best_in_class"></div>

答案 1 :(得分:0)

您需要在使用之前包含best_in_place lib

//= require best_in_place

到您的appplication.js文件

答案 2 :(得分:0)

删除app / assets / javascripts / best_in_place.js

在视图中包含激活代码:

%table
  - @schedules.each do |s|
    %tr
      %td= best_in_place s, :name
:javascript
$(document).ready(function() {
  /* Activating Best In Place */
  jQuery(".best_in_place").best_in_place();
});

答案 3 :(得分:0)

我遇到了同样的错误。我重新启动了服务器,它对我有用。