在json更新后,Rails3用js响应

pca*_*asa 4 ruby-on-rails ruby-on-rails-3

使用http://blog.bernatfarrero.com/in-place-editing-with-javascript-jquery-and-rails-3/

gem使用json进行更新,但是如何触发update.js.erb来更新页面的不同部分?

编辑在发票页面中使用此功能.发票中的每个项目都有一个可以使用best_in_place更新的价格字段.

只有在字段成功更新后,我才需要更新订单项的总价格和发票到期金额.

结束了类似的事情:

 respond_to do |format|
        if @item.update_attributes(params[:item])
          format.html { redirect_to order_url(@item.order_id), :notice => "Successfully updated item." }
          format.js {  }
          format.json { head :ok } 
Run Code Online (Sandbox Code Playgroud)

编辑best_in_place.js第175行

loadSuccessCallback : function(data) {
    this.element.html(data[this.objectName]);
        // Binding back after being clicked
    $(this.activator).bind('click', {editor: this}, this.clickHandler);
    if(this.objectName == "item") $.getScript('update.js'); // If its an item, call update.js.erb 
  },
Run Code Online (Sandbox Code Playgroud)

小智 6

我想用best_in_place pcasa做同样的事情.在当前版本(1.0.2)中,loadSuccessCallback函数触发ajax:success事件.这允许您在application.js中执行此操作:

$('.best_in_place')
    .best_in_place()
    .bind('ajax:success', function(e) {
        // do your post-json call magic
    });
Run Code Online (Sandbox Code Playgroud)