Ale*_*and 2 ruby-on-rails activeadmin
我有以下型号
class User < ActiveRecord::Base
has_many :reviews
end
class Review < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
我想根据每个用户的评论数量对ActiveDdmin页面上的用户进行排序.
我试过这个,但没有运气:(来自这个问题)
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
Run Code Online (Sandbox Code Playgroud)
我建议您在用户模型上使用counter_cache进行评论,然后直接在ActiveAdmin中使用此列:
index do
# ...
column "No. of reviews", :sortable => :reviews_count
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2621 次 |
| 最近记录: |