如何根据田地价值使用葡萄实体?

时间:2018-07-21 17:36:23

标签: ruby-on-rails mongodb grape grape-entity

任何在Grape&Grape实体上工作的人都遇到了问题。 db:Mongoid 我有两个模型 1.用户 2.答案

每个用户都具有package_type:123 并且每个答案在数组中都有包类型,但具有单个值。 喜欢[1][2][3]

我想发送那些具有package_type == users.package_type的答案作为答案。

user_entity:

expose :answers, as: :profile_info, using: API::V1::Entities::Answer 

answer_entity:

module API
    module V1
        module Entities
            class Answer < Grape::Entity
                expose :answer
                expose :question
                expose :package_type
            end
        end
    end
end

1 个答案:

答案 0 :(得分:0)

您可以根据关系进行过滤

class User
  has_many :answers, -> { where({answers: {package_type: self.package_type}}) }
end

或来自实体

expose :profile_info do |user, _options| 
  API::V1::Entities::Answer.represent(user.answers.where({answers: {package_type: user.package_type}}))
end