2014-07-08 60 views
1

什么是当前最好的解决方案来解决rails的问题respond_with在成功的PUT请求时返回一个状态为200的空主体,但Ember(JQuery)期望有效的JSON响应,因此JavaScript警告显示?Rails + Ember + Ember数据空JSON响应

我当然可以用rails代码中的respond_with替换if/render/then/render/end,但是这样会损失简洁性,我宁愿不这样做。我一直在检查,并在某些地方我读到,这应该已经在JQuery中修复,但对于下面的版本,我仍然遇到同样的问题。

Ember  : 1.5.1 
Ember Data : 1.0.0-beta.8.2a68c63a 
Handlebars : 1.3.0 
jQuery  : 1.11.0 

回答

0

是的,Rails PUT请求。我想出的最好是自己填写回复,如下所示:

def update 
    book = Book.find(params[:id]) 

    updated_book = BookUpdater.new(book, user: current_user).update(permitted_params) 
    respond_with do |format| 
    if updated_book.errors.present? 
     format.json { render json: { errors: updated_book.errors }, status: 422 } 
    else 
     format.json { render json: updated_book, status: :ok } 
    end 
    end 
end 

总得让烬宝开心。