【发布时间】:2017-01-13 22:39:09
【问题描述】:
假设一个部分视图只是将给定的 ruby 对象转换为 JSON,render 'ajax/object' 和 render json: @object 不应该提供相同的结果吗?
ajax/object.json.erb:
<%= @object.to_json %>
@对象:
{"id":1}
因为他们没有。
render 'ajax/object' 导致XMLHttpRequest.response === null 和渲染视图被发送为:(摘自保存的 .har 文件的片段)
"content": {
"size": 18,
"mimeType": "application/json",
"compression": -11,
"text": "{"id":1}"
},
另一方面,render json: @object 会导致我预期的行为:XMLHttpRequest.response === ("id": 1)
所以我的问题是:这种渲染行为的差异是否是一个错误,如果不是,render 'ajax/object' 的渲染行为的目的是什么?
【问题讨论】:
标签: ruby-on-rails ajax xmlhttprequest ruby-on-rails-5 actionpack