首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >葡萄实体代表不工作。

葡萄实体代表不工作。
EN

Stack Overflow用户
提问于 2015-06-02 05:43:30
回答 1查看 1.4K关注 0票数 1

我使用grape gem为APIgrape-entity生成响应。

简单的show/get请求的响应很好,就像只从ActiveRecord Object返回数据一样。精细

当我试图包含来自has_many关系的数据时,它会返回与该对象相关的所有数据。精细

但是当我represent数据

代码语言:javascript
复制
post = Post.first
data = V1::Entities::PostEntities.represent(post, only: [:id, { comments: [:id, :body] }])
data.as_json

它应该按照文档返回类似的内容

代码语言:javascript
复制
{
  id: 1,
  comments: [{
    id: 1,
    body: 'example'
  }]
}

返回:

代码语言:javascript
复制
{
  id: 1,
  comments: [{
    id: 1,
    user_id: 1,
    body: 'example',
    created_at: 'some_timestamp',
    updated_at: 'also_some_timestamp',
    is_deleted: 0,
  }]
}

我的PostEntities包含:

代码语言:javascript
复制
module V1
  module Entities
    class PostEntities < Grape::Entity
      expose :id
      expose :comments, with: V1::Entities::CommentEntities
    end
  end
end

我的CommentEntities包含:

代码语言:javascript
复制
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

represent 方法有问题。我不明白问题是什么?

EN

回答 1

Stack Overflow用户

发布于 2015-06-02 10:23:10

查看葡萄变化量g,您将发现表示函数将在下一个版本(0.4.6)中工作。

0.4.6 (Next) #114:添加“only”选项,选择应该返回哪些属性- @estevaoam。

所以,如果您现在想使用这个函数,可以使用最新的github版本。

gem 'grape-entity', github: "intridea/grape-entity", branch: "master"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30588211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档