I am using grape gem for API and grape-entity to generate responses.
Simple show/get request is responding fine like returning only data from ActiveRecord Object. Fine
When i try to include data from has_many relation it return all the data related to that object. Fine
But when I represent data like
post = Post.first
data = V1::Entities::PostEntities.represent(post, only: [:id, { comments: [:id, :body] }])
data.as_json
It should return something like this as per documentation:
{
id: 1,
comments: [{
id: 1,
body: 'example'
}]
}
But it returns:
{
id: 1,
comments: [{
id: 1,
user_id: 1,
body: 'example',
created_at: 'some_timestamp',
updated_at: 'also_some_timestamp',
is_deleted: 0,
}]
}
My PostEntities contains:
module V1
module Entities
class PostEntities < Grape::Entity
expose :id
expose :comments, with: V1::Entities::CommentEntities
end
end
end
My CommentEntities contains:
module V1
module Entities
class CommentEntities < Grape::Entity
expose :id
expose :user_id
expose :body
expose :created_at
expose :updated_at
expose :is_deleted
end
end
end
there is something wrong with represent method. i am not getting what the issue is?