best_in_place nil 和编辑功能在带有引导应用程序的 rails4 上不起作用

Posted

技术标签:

【中文标题】best_in_place nil 和编辑功能在带有引导应用程序的 rails4 上不起作用【英文标题】:best_in_place nil and edit functions not working on rails4 with bootstrap app 【发布时间】:2014-11-04 17:04:32 【问题描述】:

我之前在一个项目中使用过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 的最后一次更新是从 02/2013 开始的,所以它可能与我目前的项目不完全兼容。如果是这种情况,我将不胜感激使用类似宝石的任何数据。

编辑:

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

"undefined is not a function". 

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

【问题讨论】:

顺便说一句,我在浏览器的控制台上没有看到任何 javascript 错误。只有一些 .css 问题。 它似乎在演示中也不起作用?不应该在这里编辑国家吗?:bipapp.heroku.com/users/186 至少我可以确认 best_in_place 适用于 rails 4.2 - 否则我们的应用程序将完全崩溃。我们严重依赖它。请务必使用 bip > 3.0.0。我还看到了 2 月 19 日的提交,我们在谈论 github.com/bernat/best_in_place 吗? 【参考方案1】:

好像你忘了添加类.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">
...........

【讨论】:

以上是关于best_in_place nil 和编辑功能在带有引导应用程序的 rails4 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

best_in_place 错误 ID 为 nil

best_in_place 显示下拉菜单选项

使 best_in_place 输入看起来像引导输入

使用 Rails gem 'best_in_place' 进行内联编辑 - 错误:在 textarea 上编辑后新行丢失

如何在 best_in_place 编辑完成后触发事件?

样式占位符与 best_in_place 的值不同