【发布时间】:2016-09-27 07:37:18
【问题描述】:
我有一个使用 gem active_model_serializers 的 rails 应用程序。在我的回复中,我想将我的结果嵌套在 "data": 父级中。目前,当我没有得到任何响应数据时,我得到以下 JSON:
[]
我想要的是这样的:
{
"data": []
}
如果我有数据,我也想使用相同的格式,例如:
{
"data": [
{
"id": 135,
[...]
我已经设法通过使用render json 获得我想要的结构,如下所示:
render json: { data: respond_values}
但在这种情况下,我的序列化程序被忽略,模型中的所有属性都被返回。我的序列化器如下所示:
class TranslationSerializer < ActiveModel::Serializer
attributes :id, :value, :created_at, :updated_at, :language_id
has_one :language
has_one :localized_string, serializer: LocalizedStringParentSerializer
end
如果我改为使用respond_with,我的序列化程序可以工作,但我没有得到我想要的结构 - 数据父/容器丢失。
关于让我的序列化程序正常工作需要做些什么的任何想法?
【问题讨论】:
-
试试:
render json: respond_values, each_serializer: TranslationSerializer, root: 'data'
标签: ruby-on-rails ruby json ruby-on-rails-4 active-model-serializers