首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails Fast Json API包括作用域

Rails Fast Json API包括作用域
EN

Stack Overflow用户
提问于 2020-08-14 23:30:18
回答 1查看 313关注 0票数 2

在我的Rails6/葡萄API应用程序中,我有一个序列化程序,我希望只包含活动行程(活动,我的意思是journey.is_deleted: false)。当前终结点如下所示:

代码语言:javascript
复制
helpers do
  def query
    current_user.journey_progresses.joins(:journey).where('is_deleted', false)
  end
end

get :journeys do
  ::Journeys::EnrolledJourneysSerializer.new(
    query,
    include: [:journey],
    class: { Journey: ::Journeys::JourneyListSerializer },
  )
end

它包括所有的旅程,不管他们是有is_deleted: true还是is_deleted: false。我希望只包含带有is_deleted: false的行程,以便在序列化响应中不显示已删除的行程。

EnrolledJourneysSerializer

代码语言:javascript
复制
module Journeys
  class EnrolledJourneysSerializer
    include FastJsonapi::ObjectSerializer

    belongs_to :journey, serializer: JourneyListSerializer
    set_type :percent_progress
    attributes :percent_progress, :started_at
  end
end

JourneyListSerializer

代码语言:javascript
复制
module Journeys
  class JourneyListSerializer
    include FastJsonapi::ObjectSerializer

    attribute :content do |object|
      object.content.dig('attributes')
    end
  end
end

Journey模型上有什么不同于default_scope的地方吗?

EN

回答 1

Stack Overflow用户

发布于 2020-08-15 05:21:25

此行错误,需要更改为...

代码语言:javascript
复制
 current_user
  .journey_progresses
  .joins(:journey)
  .where(journeys: { is_deleted: false })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63415755

复制
相关文章

相似问题

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