我正在使用acts_as_paranoid
逻辑删除。删除记录时。记录不会消失。它只是在“deleted_at”列中获取时间戳,这意味着已删除。
在我的模型中,
社区 has_many :topics
我获取了所有这样的主题
@topics = Topic.page(params[:page]).order("updated_at DESC")
但是,当它显示其父社区已被删除的主题记录时,它会出现路由错误。
如何获取其父“社区”存在的所有主题?
我正在使用acts_as_paranoid
逻辑删除。删除记录时。记录不会消失。它只是在“deleted_at”列中获取时间戳,这意味着已删除。
在我的模型中,
社区 has_many :topics
我获取了所有这样的主题
@topics = Topic.page(params[:page]).order("updated_at DESC")
但是,当它显示其父社区已被删除的主题记录时,它会出现路由错误。
如何获取其父“社区”存在的所有主题?
如果您的社区范围类似于
class Community
def self.not_deleted
where deleted_at: nil
end
end
然后你可以做
@topics = Topic.joins(:community).merge(Community.not_deleted).
page(params[:page]).order("updated_at DESC")
否则你可以做
@topics = Topic.joins(:community).where( community: { deleted_at: nil } ).
page(params[:page]).order("updated_at DESC")