Rails Fast Json API包含范围

问题描述

在我的Rails 6 / Grape API应用程序中,我有一个序列化器,我只想包含活动旅程(活动,是指travel.is_deleted:false)。当前端点如下:

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

module Journeys
  class EnrolledJourneysSerializer
    include FastJsonapi::ObjectSerializer

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

JourneyListSerializer

module Journeys
  class JourneyListSerializer
    include FastJsonapi::ObjectSerializer

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

Journey模型上,与default_scope有什么不同吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)