相关数据包含Venue
,Match
和Broadcast
,这是一个连接表,前两个更多。
在我的Venue
索引页面中,我显示了该地点所显示的Broadcast
的数量。我想让这个可以排序。附加功能是,这应该只涉及Match
s,为此我在我的active
模型上有一个Broadcast
范围,它将来会返回匹配的广播。
我想让这个专栏可以排序。其定义为venue.broadcasts.active.count
。由于它不是DB中的列,它似乎不是可排序的,并且由于它涉及随时间变化的范围,因此默认情况下计数器列将不起作用并且似乎很难实现我自己的。有没有什么好办法让它排序?我对表现并不太在意。
答案 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.