ActiveAdmin:按关联计数排序 [英] ActiveAdmin: sort by association count
本文介绍了ActiveAdmin:按关联计数排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下模型
class User < ActiveRecord::Base
has_many :reviews
end
class Review < ActiveRecord::Base
belongs_to :user
end
我想排序
我尝试了此操作,但没有运气:(来自这个SO问题)
I tried this, but no luck: (from this SO question)
ActiveAdmin.register User do
filter :name
index do
column :name
column :email
column "Facebook" do |u|
if u.provider == "facebook"
"Yes"
end
end
column "No. of reviews", :sortable => :"reviews.count" do |u|
u.reviews.count
end
end
controller do
def scoped_collection
end_of_association_chain.includes(:reviews)
end
end
end
推荐答案
我建议在用户模型上使用 counter_cache 进行评论,然后简单地直接在ActiveAdmin中使用此列:
I'd suggest to use a counter_cache on your user model for your reviews and then simply use this column in ActiveAdmin directly:
index do
# ...
column "No. of reviews", :sortable => :reviews_count
end
这篇关于ActiveAdmin:按关联计数排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文