ActiveAdmin指定过滤表单url



我在rails 4.2应用程序中使用active-admin(AA, 1.0.0)。我正在显示在线用户列表。我必须显示一个用户列表,根据user模型字段显示每种类型的用户和过滤器的作用域。此外,我需要在另一个页面上显示在线用户列表。

User(dropdown)
=> Accounts
=> Online Users

显示用户列表,我使用

ActiveAdmin.register User, as: 'User' do                                                                                                                       
  menu :parent => "Users", :label => "Accounts"
  ...
end

显示在线用户列表,我使用

ActiveAdmin.register User, as: 'Online User' do                                                                                                                
  menu parent: "Users", label: "Online Users", url: '/admin/online_users'
  actions :index
  filter :id
  filter :name
  filter :email
  ...
end

现在,过滤器被正确地显示在"Online Users"页面上,但是当提交过滤器表单时,它被提交到"/admin/Users"而不是"/admin/online_users"。我可以将url传递到过滤器表单吗?如果不是,那么解决这个问题的正确方法是什么?

谢谢。

您可以像这样重新定义过滤器表单构建器使用的collection_path方法:

controller do
  def collection_path
    admin_online_users_path
  end
end

最新更新