【问题标题】:In Place editing就地编辑
【发布时间】:2015-06-13 05:39:23
【问题描述】:

我按照http://railscasts.com/episodes/302-in-place-editing?view=asciicast的所有步骤进行了

但不是在属性处编辑?

这是我的页面

<div class="well-lg box-left box-first">
  <div class="row">
    <h3>Personal Details</h3>
    <br>
    <ul class="list-group">
    <li><strong><div class="col-sm-4">FName </div></strong>
      <%= best_in_place @user, :fname %></li>
    <li><strong><div class="col-sm-4">LName </div></strong>
      <%=  best_in_place @user, :lname %></li>
    <li><strong><div class="col-sm-4">Email </div></strong>
      <%=  best_in_place @user, :email %></li>
    <li><strong><div class="col-sm-4">Mobile </div></strong>
      <%=  best_in_place @user, :mob %></li>
    </ul><br><%= link_to 'Edit', {:controller=>'users', :action=>'edit'}%>
  </div>
</div>

任何帮助或解决方案? 提前致谢

编辑

应用程序.js

//= require jquery
//= require jquery_ujs
//= require jquery.purr
//= require best_in_place
//= require turbolinks
//= require_tree .

user.js.coffee

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

【问题讨论】:

  • 你设置好jQuery代码了吗? $('.best_in_place').best_in_place()
  • 您的路线配置正确吗?
  • 我们是否必须为 best_in_place gem @Bhanu 指定任何路线
  • 我认为您使用的是 Rails 4,best_in_place 与 Rails 4 还不完全兼容。检查一次。
  • 是的,我正在使用 Rails 4..任何解决方案?? @Aakash

标签: ruby-on-rails best-in-place


【解决方案1】:

Best_in_placeRails 4不完全兼容,你可以试试下面的gem,看看能不能用。

https://github.com/bootstrap-ruby/bootstrap-editable-rails

https://github.com/janv/rest_in_place

【讨论】:

    【解决方案2】:

    仅在 HTML 中放置帮助程序是不够的

    您还需要在控制器中拥有正确的代码

    您的控制器代码应如下所示(json 响应)

    def update
      @user = User.find params[:id]
    
      respond_to do |format|
        if @user.update_attributes(params[:user])
          format.html { redirect_to(@user, :notice => 'User was successfully updated.') }
          format.json { respond_with_bip(@user) }
        else
          format.html { render :action => "edit" }
          format.json { respond_with_bip(@user) }
        end
      end
    end
    

    至于助手,不知道是不是默认的,试试加as: :input

    看这里https://github.com/bernat/best_in_place

    【讨论】:

      【解决方案3】:

      虽然,documentation 中的一切都很清楚,一步一步,但根据您的要求,以下是我使用它的方式:

      application.js

      //= require jquery-editable
      

      application.css

      *= require jquery-editable
      

      查看

      <a href="javscript:void(0)" id="some_id">
      

      javascript

      jQuery.fn.editable.defaults.mode = 'inline';
      jQuery.fn.editable.defaults.ajaxOptions = {type: "PUT"};
      
      jQuery("#some_id").editable({
        type: "text",
        pk: "1",  //This is id of the record which will be updated
        url: url  //The rails URL for controller method
      });
      

      不过,我还是建议您阅读文档以便更好地理解和更顺畅地实施。

      【讨论】:

        猜你喜欢
        • 2013-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多