Ruby on rails Rails,包括json呈现中的关系
我有以下代码返回一个json,其中包含@admin_user.companys的一些数据:Ruby on rails Rails,包括json呈现中的关系,ruby-on-rails,ruby,json,Ruby On Rails,Ruby,Json,我有以下代码返回一个json,其中包含@admin_user.companys的一些数据: @admin_user = User.find_by_email(email) render :json=>{:status=>{:code=>200,:token=>@admin_user.authentication_token, :user=> @admin_user, :companies => @admin_user.companies }}
@admin_user = User.find_by_email(email)
render :json=>{:status=>{:code=>200,:token=>@admin_user.authentication_token,
:user=> @admin_user,
:companies => @admin_user.companies }}
每家公司也有许多“地点”。如何在json中的@admin_user.companys中包含每个公司的所有位置?传统方法是使用
render json: @admin_user.companies, include: :locations
(有关更多选项,请参阅。)
您不需要在JSON中包含状态代码,因为它已经在HTTP头中了。因此,下面的内容可能会让您更接近您所需要的
render :json => @admin_user,
:include => {
:companies => { :include => :locations },
},
:methods => :authentication_token
旁注
这只是一个例子。您必须配置
:include
和:methods
,才能获得您想要的内容。要获得更细粒度的控制,请查看或。另一种方法是使用,它允许您对JSON的生成方式进行更细粒度的控制:
- 将
gem添加到您的应用程序中jbuilder
- 从控制器中使用
生成JSONJBuilder.encode
- 或者,在
目录中创建视图
模板.json.jbuilder