如何在 ActiveAdmin 中显示 link 到来自 ALIAS 的相关记录?

How to show a link to related records FROM ALIAS in ActiveAdmin?

我有这个 类 是为了显示用户内的相关记录和顶部菜单上的所有记录。

ActiveAdmin.register Position, :as => 'Positionsfake' do

belongs_to :user

controller do
 def scoped_collection
   end_of_association_chain.where(category: 1)
 end
end
ActiveAdmin.register Position, :as => 'Contactsfake' do

belongs_to :user

controller do
 def scoped_collection
   end_of_association_chain.where(category: 0)
 end
end
ActiveAdmin.register Position do

controller do
 def scoped_collection
   end_of_association_chain.where(category: 1)
 end
end
ActiveAdmin.register Position, :as => 'Contacts' do

controller do
 def scoped_collection
   end_of_association_chain.where(category: 0)
 end
end
ActiveAdmin.register User do

  controller do
    def scoped_collection
      User.includes(:provider).where(:providers => {:user_id => nil})
    end
  end

  index do
    column :name
    column "Positions" do |a|
      link_to a.positions.count, admin_user_positions_path(a)
    end
    column "Contatcs" do |a|
      a.contacts.count
  end
  actions
end

位置很好!但是不能从这里调用联系人。

我只有一个模型。除了类别字段外,联系人和职位是相同的。有什么办法可以解决吗?

谢谢。

任何一个都适合我。

ActiveAdmin.register User do

controller do
  def scoped_collection
    User.includes(:provider).where(:providers => {:user_id => nil})
  end
end

index do
  column :name
  column :positions do |a|
    link_to a.positions.where(category: 1).count, admin_user_positions_path(a)
  end
  column 'Contacts', :positions do |a|
    a.positions.where(category: 0).count
  end
  actions
end
ActiveAdmin.register User do

controller do
  def scoped_collection
    User.includes(:provider).where(:providers => {:user_id => nil})
  end
end

index do
  column :name
  column 'Positions' do |a|
    link_to a.positions.where(category: 1).count, admin_user_positions_path(a)
  end
  column 'Contacts', 'Positions' do |a|
    a.positions.where(category: 0).count
  end
  actions
end