没有列的活动管理员索引页面排序

时间:2014-08-24 07:01:33

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord activeadmin

相关数据包含VenueMatchBroadcast,这是一个连接表,前两个更多。

在我的Venue索引页面中,我显示了该地点所显示的Broadcast的数量。我想让这个可以排序。附加功能是,这应该只涉及Match s,为此我在我的active模型上有一个Broadcast范围,它将来会返回匹配的广播。

我想让这个专栏可以排序。其定义为venue.broadcasts.active.count。由于它不是DB中的列,它似乎不是可排序的,并且由于它涉及随时间变化的范围,因此默认情况下计数器列将不起作用并且似乎很难实现我自己的。有没有什么好办法让它排序?我对表现并不太在意。

1 个答案:

答案 0 :(得分:2)

如果需要按表中不存在的列对索引页进行排序,请考虑像DataTables这样的客户端方法,即jQuery表插件。

我曾经使用它进行快速的页内搜索而不会访问数据库。虽然它可能看起来有点hacky,但它适用于相当少的记录。

我相信您可以使用the DataTables gem作为the way I googled,但我是手动完成的:

# config/initializers/active_admin.rb
config.register_javascript 'jquery.dataTables.js'
// app/assets/javascripts/active_admin.js
$('#index_table_on_order_orders').dataTable(); // Specify options as you need.