在rails中渲染嵌套json的首选方法是什么?

时间:2018-03-28 15:26:17

标签: ruby-on-rails

我最近在rails应用程序中找到了以下用于嵌套json的代码。 我想知道,这样做的首选方式是什么?

我应该使用活动模型序列化程序还是坚持使用以下代码?

git

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

1 个答案:

答案 0 :(得分:3)

这完全取决于您的用例。例如,如果您的应用程序主要是服务器端呈现的HTML,并且有一些javascript,那么您当前的方法可能就足够了。

但是,如果您使用的是客户端框架并且主要使用Rails作为API端点,那么您很可能希望研究一种更强大的解决方案,它可以更好地处理复杂的关系,甚至可能是演示者方法。随着您的应用程序的增长,它将不可避免地变得更加复杂,to_json很快就会过时。

Jbuilder是一个很棒的库,用于处理复杂的JSON渲染,值得研究,如果是这样的话。