0

我正在使用acts_as_paranoid逻辑删除。删除记录时。记录不会消失。它只是在“deleted_at”列中获取时间戳,这意味着已删除。

在我的模型中,

社区 has_many :topics

我获取了所有这样的主题

@topics = Topic.page(params[:page]).order("updated_at DESC")

但是,当它显示其父社区已被删除的主题记录时,它会出现路由错误。

如何获取其父“社区”存在的所有主题?

4

1 回答 1

1

如果您的社区范围类似于

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")
于 2013-01-25T03:48:20.143 回答