【问题标题】:Ruby on Rails best_in_place gem throwing errorRuby on Rails best_in_place gem 抛出错误
【发布时间】:2013-08-30 20:29:09
【问题描述】:

我正在关注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'

【问题讨论】:

  • 你有什么运气吗?

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


【解决方案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>

【讨论】:

  • 您是否仍然收到错误Uncaught TypeError: Object [object Object] has no method 'best_in_place'
【解决方案2】:

使用前需要包含 best_in_place 库

//= require best_in_place

到您的appplication.js 文件

【讨论】:

    【解决方案3】:

    删除 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();
    });
    

    【讨论】:

    • 这个答案与您原始帖子中的代码有何不同?
    【解决方案4】:

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

    【讨论】:

    • 我无法确定造成这种情况的确切原因,但这可能对我也有用。
    猜你喜欢
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多