Json序列化程序不同的json名称

时间:2016-08-28 15:28:45

标签: ruby-on-rails json

我有2个元素之间的关系。基本上,我有帖子&类别。

在我的方法中,我有2个控制器:

带有PostsController

index, show, update, destroy & *categories* 带有CategoriesController

index

当我想修改类别时,我对POST进行了/post/:post_id/categories。一切正常。但我想回答的答案是我的帖子的类别,只是类别。所以,我这样做:

render json: @post.categories, 
       each_serializer: CategorySerializer

它运作正常。但我在json收到的答案是:

posts: [{id:1, title:'Category 1'}, {id:2, title:'Category 2'}]

但是所需的输出应该是:

categories: [{id:1, title:'Category 1'}, {id:2, title:'Category 2'}]

我该如何更改?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

categories = @post.categories.map { |c| CategorySerializer.new(c) }
render json: { categories: categories }