我正在努力解决以下问题。我的项目包含以下模型:
帖子(有一个PostReport)-用户可以删除自己的帖子
PostReport(属于Post),如果管理员用户将此帖子标记为违反规则,然后该帖子处于活动状态(如被删除),则创建该报告-它在所有视图中都被隐藏。
现在,在ActiveAdmin面板中,我试图创建一个包含名称,作者和其他“标准”列的所有帖子的表格。我还希望对“已删除”帖子有一个总体了解-由用户删除或由管理员报告。
column "Deleted", :deleted_at, sortable: :deleted_at do |post|
if post.post_report.present?
"POST REPORTED"
else
post.deleted_at
end
end
我如何才能使该列首先按日期DESC排序,然后按字符串排序,然后将所有帖子都用nil排序?当我保留上面显示的代码(可排序:deleted_at)时,它没有考虑我的自定义字符串-这是合理的,因为它没有放在DB列中。我已经有一个范围可以过滤所有报告的帖子,但是我也想设置此表视图。
这是我想要的输出:
post_id (...) Deleted
1 2018-09-21
4 2018-09-15
3 POST REPORTED
5
2
请不要专注于此解决方案的逻辑,我只是想让事情变得更难掌握ActiveAdmin,之后再扩展PostReport模型。谢谢!