我有以下型号
class User::ActiveAdmin::Partner < User::ActiveAdmin::Base
embeds_many :bonuses, class_name: 'User::Bonus'
end
和
class User::Bonus
include Mongoid::Document
embedded_in :partner, class_name: 'User::ActiveAdmin::Partner'
end
然后我在Active Admin中注册奖金
ActiveAdmin.register User::Bonus, as: 'Bonuses' do
config.filters = false
permit_params :number, :order_id
controller do
def scoped_collection
if current_admin_user.is_a? User::ActiveAdmin::Partner
current_admin_user.bonuses.page(params[:page]).per(10)
else
super
end
end
end
该集合不是空的(我已经创建了几个奖金),但在ActiveAdmin索引页面中我看到,没有奖励。我无法做任何事情来使它正确显示。我注意到,User :: Bonus表是空的,即使伙伴确实有,但据我所知,这是它的工作方式,这没关系。那我怎样才能让我的桌子显示出来?谢谢。
答案 0 :(得分:1)
方法ActiveAdmin :: Helpers :: Collection#collection_size中的问题。您正在使用旧版本的activeadmin-mongoid。尝试更新activeadmin-mongoid。 在rails4分支中,collection_size不正确。您应该在应用中覆盖此方法,例如:https://github.com/elia/activeadmin-mongoid/blob/master/lib/active_admin/mongoid/helpers/collection.rb