我最近在rails应用程序中找到了以下用于嵌套json的代码。 我想知道,这样做的首选方式是什么?
我应该使用活动模型序列化程序还是坚持使用以下代码?
class DrinksController < ApiController
...
# GET /drinks/:id
def show
@drink = Drink.find(params[:id])
render json: @drink.to_json(:include => { :ingredients => { :only => [:id, :description] }})
end
end
答案 0 :(得分:3)
这完全取决于您的用例。例如,如果您的应用程序主要是服务器端呈现的HTML,并且有一些javascript,那么您当前的方法可能就足够了。
但是,如果您使用的是客户端框架并且主要使用Rails作为API端点,那么您很可能希望研究一种更强大的解决方案,它可以更好地处理复杂的关系,甚至可能是演示者方法。随着您的应用程序的增长,它将不可避免地变得更加复杂,to_json
很快就会过时。
Jbuilder是一个很棒的库,用于处理复杂的JSON渲染,值得研究,如果是这样的话。