mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-22 22:06:50 +00:00
pluralising root key when using arraySerializer
This commit is contained in:
parent
329691276a
commit
65e0d79195
@ -19,7 +19,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def json_key
|
||||
@objects.first.json_key if @objects.first
|
||||
@objects.first.json_key.pluralize if @objects.first
|
||||
end
|
||||
|
||||
def root=(root)
|
||||
|
||||
@ -13,7 +13,7 @@ module ActiveModel
|
||||
|
||||
def fields_for(serializer)
|
||||
key = serializer.json_key
|
||||
fields[key.to_sym]
|
||||
fields[key.to_sym] || fields[key.pluralize.to_sym]
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
@ -28,7 +28,7 @@ module ActiveModel
|
||||
@serializer = ArraySerializer.new([@blog], serializer: CustomBlogSerializer)
|
||||
@adapter = ActiveModel::Serializer::Adapter::Json.new(@serializer)
|
||||
|
||||
expected = {custom_blog:[{
|
||||
expected = {custom_blogs:[{
|
||||
id: 1,
|
||||
special_attribute: "Special",
|
||||
articles: [{id: 1,title: "Hello!!", body: "Hello, world!!"}, {id: 2, title: "New Post", body: "Body"}]
|
||||
@ -37,7 +37,7 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_include_multiple_posts
|
||||
expected = { post: [{
|
||||
expected = { posts: [{
|
||||
title: "Hello!!",
|
||||
body: "Hello, world!!",
|
||||
id: 1,
|
||||
|
||||
@ -12,10 +12,10 @@ module ActiveModel
|
||||
end
|
||||
|
||||
def test_meta_is_present_with_root
|
||||
serializer = AlternateBlogSerializer.new(@blog, root: "blog", meta: {total: 10})
|
||||
serializer = AlternateBlogSerializer.new(@blog, meta: {total: 10})
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, root: 'blog')
|
||||
expected = {
|
||||
blog: {
|
||||
alternate_blog: {
|
||||
id: 1,
|
||||
title: "AMS Hints"
|
||||
},
|
||||
@ -39,7 +39,7 @@ module ActiveModel
|
||||
serializer = AlternateBlogSerializer.new(@blog, root: 'blog', meta: {total: 10}, meta_key: "haha_meta")
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, root: 'blog')
|
||||
expected = {
|
||||
blog: {
|
||||
alternate_blog: {
|
||||
id: 1,
|
||||
title: "AMS Hints"
|
||||
},
|
||||
@ -73,7 +73,7 @@ module ActiveModel
|
||||
serializer = ArraySerializer.new([@blog], meta: {total: 10}, meta_key: "haha_meta")
|
||||
adapter = ActiveModel::Serializer::Adapter::Json.new(serializer, root: 'blog')
|
||||
expected = {
|
||||
blog: [{
|
||||
blogs: [{
|
||||
id: 1,
|
||||
name: "AMS Hints",
|
||||
writer: {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user