best_in_place nil和编辑函数不能在带有bootstrap应用程序的rails4上运行

时间:2014-09-10 21:56:43

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

之前我在项目中使用过gem,只有没有css框架的rails 3。现在看来,best_in_place的jQuery函数被阻止或根本没有加载。从以下位置看不到占位符:nil函数,也没有可用的编辑当前值。

这是我的观点部分:

<div class="row">
  <div class="col-lg-4">
    <%= best_in_place [@company,service], :name, type: :input, :nil => "Click to fill" %>
  </div>
  <div class="col-lg-4">
    <%= best_in_place [@company,service], :duration, type: :input, :nil => "Click to   fill" %>
  </div>
  <div class="col-lg-4">
    <%= link_to 'X', [@company,service], method: :delete, data: { confirm: 'Are you sure?'} %>
  </div>
</div>

我的控制器:

def update
respond_to do |format|
  if @service.update(service_params)
    format.html { redirect_to @service, notice: 'Service was successfully updated.' }
    format.json { respond_with_bip(@service) }
  else
    format.html { render :edit }
    format.json { render json: @service.errors, status: :unprocessable_entity }
  end
end

service.js.coffee用于激活jquery best_in_place函数

jQuery ->
  $('.best_in_place').best_in_place()

和application.js

//= require jquery
//= require jquery_ujs
//= require jquery_nested_form
//= require turbolinks
//= require bootstrap.min
//= require jquery-ui
//= require jquery.purr
//= require best_in_place
//= require best_in_place.jquery-ui
//= require_tree 

我注意到best_in_place的最后一次更新是从2013年2月开始的,所以也许它与我目前的项目不完全兼容。如果是这种情况,我会感谢您使用类似宝石的任何数据。

编辑:

这显然是一个javascript问题,但我无法弄明白。我在浏览器控制台上收到以下错误:

"undefined is not a function". 

只有它指向jquery.js第10306行,这是空的..

1 个答案:

答案 0 :(得分:0)

似乎就像你忘了添加课程.best_in_place

一样
<div class="row">
  <div class="best_in_place col-lg-4">
    <%= best_in_place [@company,service], :name, type: :input, :nil => "Click to fill" %>
  </div>
<div class="col-lg-4">
...........