ActiveAdmin:对内部包含自定义数据的列进行排序

时间:2018-09-12 15:33:19

标签: ruby-on-rails activeadmin

我正在努力解决以下问题。我的项目包含以下模型:

帖子(有一个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模型。谢谢!

0 个答案:

没有答案