我正在尝试获取 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/