我在Rails 4上启动了一个新的应用程序,我注意到默认情况下JSON渲染的实现方式似乎是一个突破性的变化,但我无法在任何地方找到它,所以我想知道是否有人能给我一些见解关于(1)API是否实际发生了变化,以及(2)我如何获得我需要的行为(即旧行为).
特别是,我所看到的是,Rails 3中的位置
@answer.as_json
Run Code Online (Sandbox Code Playgroud)
......会回来......
{
id: 1,
body: "lorem ipsum..."
....
}
Run Code Online (Sandbox Code Playgroud)
在Rails 4中似乎返回相同的方法:
{
'answer':
{
id: 1,
body: "lorem ipsum..."
...
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以确认此行为已更改?是否有任何方法可以使旧的行为无法覆盖每个模型的as_json?
这个新实现使得返回包含多个模型的JSON响应变得更加麻烦(现在要么必须在控制器操作中的"render:json ..."调用中通过哈希合并或者通过重写as_json来完成).