javascript - 无法使用 Rails 3.0 的 best-in-place gem 编辑记录

标签 javascript ruby-on-rails ruby-on-rails-3 rubygems best-in-place

我正在尝试获取 best-in-place gem在 Rails 3.0 应用程序上工作,但似乎没有任何效果。我无法单击任何对象来编辑它们。

这就是我到目前为止所做的(遵循上面链接中的 GitHub 说明以及 RailsCast :

在我的Gemfile :

gem 'rails', '3.0.11'
gem 'best_in_place', '~> 0.2.0'

我还跑了rails g best_in_place:setup因为我使用的是 3.0,它生成了 best_in_place.js文件写入public/javascripts .

最后显示要就地编辑的记录:

<div class="profileGains">"<%= best_in_place @project, :my_quote %>"</div>

我正在使用 RESTful 路由,因此我有 update对我的项目资源采取行动。

此时,记录已显示,但我无法单击它(或任何其他记录)。

有什么建议吗?我是 JS 新手,真的很困惑。

编辑:我创建了一个 application.js我在其中添加了以下代码的文件:

//= require jquery
//= require jquery.purr
//= require best_in_place

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

我还尝试了 Richlewis 评论中的建议,在我的 View 中添加脚本标签:

<script type="text/javascript" src="/public/javascripts/best_in_place.js"></script>

最后,我尝试更改 <%= javascript_include_tag :defaults %><%= javascript_include_tag :all %>在我的application.html.erb布局文件。

再说一次,最佳到位是行不通的。

更新:使用 Chrome 检查元素时,我发现日志中显示此错误:

Uncaught TypeError: Object [object Object] has no method 'best_in_place' 
application.js line 7

知道这意味着什么吗?

最佳答案

回答我自己的问题。 best_in_place.js 文件未在我的 View 中呈现,因为此代码 //= require best_in_place 仅适用于具有 Assets 管道的应用。

我必须在应用程序布局文件中显式声明 best_in_place.js 文件。这就成功了。

关于javascript - 无法使用 Rails 3.0 的 best-in-place gem 编辑记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14441783/

相关文章:

javascript - 在 formdata 中 append 创建的图像文件

JavaScript 超出范围

ruby-on-rails - 从 MySQL 迁移到 Postgres on Rails 3

ruby-on-rails - capistrano 从一个本地目录部署到另一个

ruby-on-rails - 错误-heroku "insecure world writable dir/var/psql_socket in PATH"

javascript - 如何将多个数据放在数据表列中?

javascript - 检查浏览器是否支持移动设备的 SVG,最好是 Android

ruby-on-rails - Rails 3 和 rspec 和 i18n - Controller 的正确测试不起作用(失败)

ruby-on-rails - Capybara::ElementNotFound: 无法找到 css "a"

css - Bootstrap 在 Redmine 插件中不起作用