Rails 3.2.16更新对象时responsd_with的JSON API行为



关于使用JSON更新资源的一个难题:

  • 如果我对/resource/:id使用"POST",我会得到一个未定义的路由
  • 如果我对/resource/:id使用"PUT",我确实找到了正确的方法,但responsd_with似乎返回了一个空内容(请参阅下面的代码)

https://github.com/rails/rails/blob/3-2-stable/actionpack/lib/action_controller/metal/responder.rb#L201

当GUI想要一个更新对象的好回复时,它该怎么办?我必须采用显式渲染吗?

204 No Content响应是respond_with的默认行为。如果你想要不同的东西,你可以进行显式渲染,或者如果你想要一致的不同行为,你可以定义自己的ActionController::Responder子类。

我建议阅读默认响应程序的来源,并在这里查看其他一些:

https://github.com/plataformatec/responders

最新更新