我试图在Rails 3.0应用程序上获得最好的gem,但似乎没有任何工作。我不能点击任何对象来编辑它们。
这是我到目前为止所做的(遵循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的新手,真的卡住了。
EDIT:我创建了一个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在评论中的建议,在我的视图中添加一个脚本标签:
<script type="text/javascript" src="/public/javascripts/best_in_place.js"></script>
最后,我尝试将<%= javascript_include_tag :defaults %>
更改为<%= javascript_include_tag :all %>
在我的application.html.erb
布局文件
再说一次,原地最佳是行不通的。
UPDATE:当使用Chrome检查元素时,我发现这个错误显示在日志中:
Uncaught TypeError: Object [object Object] has no method 'best_in_place'
application.js line 7
你知道这是什么意思吗?
回答我自己的问题。best_in_place.js
文件没有在我的视图中呈现,因为这个代码//= require best_in_place
只适用于具有资产管道的应用程序。
我必须在应用程序布局文件中显式声明best_in_place.js
文件。