无法使用Rails 3.0的最佳宝石编辑记录

时间:2013-01-21 15:22:35

标签: javascript ruby-on-rails ruby-on-rails-3 gem 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'

自从我登录3.0后,我也运行了rails g best_in_place:setup,并在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的评论中尝试了在我的视图中添加脚本标记的建议:

<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

知道这意味着什么吗?

1 个答案:

答案 0 :(得分:2)

在我弄明白的时候回答我自己的问题。 best_in_place.js文件未在我的视图中呈现,因为此代码//= require best_in_place仅适用于具有资产管道的应用。

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