【发布时间】:2020-08-14 13:32:21
【问题描述】:
在我的 Rails 6 应用程序中,我有定义 active 范围的模型 Journey:
class Journey < ApplicationRecord
has_many :users, through: :journey_progresses
has_many :journey_progresses, dependent: :destroy
scope :active, -> { where(is_deleted: false) }
end
在我的端点中,我想显示用户 Journey_progress 和序列化器旅程本身。为此,我使用下面的查询效果很好
def query
current_user.journey_progresses.includes(:journey)
end
如何修改上述查询以仅显示活动旅程?我试图添加像current_user.journey_progresses.includes(:journey).where(is_deleted: false) 这样的位置,但我收到一个错误:
Caused by PG::UndefinedColumn: ERROR: column journey_progresses.is_deleted does not exist
根据this answer,我尝试使用current_user.journey_progresses.includes(:journey).where(journey: {is_deleted: false} ),但又遇到了另一个错误:
Caused by PG::UndefinedTable: ERROR: missing FROM-clause entry for table "journey"
这种操作的正确语法是什么?
【问题讨论】:
标签: ruby-on-rails ruby