在我的Rails6/葡萄API应用程序中,我有一个序列化程序,我希望只包含活动行程(活动,我的意思是journey.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
endJourneyListSerializer
module Journeys
class JourneyListSerializer
include FastJsonapi::ObjectSerializer
attribute :content do |object|
object.content.dig('attributes')
end
end
end在Journey模型上有什么不同于default_scope的地方吗?
发布于 2020-08-15 05:21:25
此行错误,需要更改为...
current_user
.journey_progresses
.joins(:journey)
.where(journeys: { is_deleted: false })https://stackoverflow.com/questions/63415755
复制相似问题