RailsAdmin 如何根据条件限制列表记录?

RailsAdmin how to limit listing records by conditions?

我有两个模型 - UserArticle,其中一个用户可以有多个 articles。 在 User 中有一列 status,其值为 1 或 0。 我的问题是,在用户列表中,我如何根据某些条件限制记录。例如'SELECT * FROM users WHERE status = 1'?

我已经研究过关联范围,但我认为这不是我需要的。

例如下图中,作者 'Kame Man' 不应出现在列表中。

您需要在 User 模型中设置 scopes 如下:

class User < ActiveRecord::Base
  scope :active, -> { where(state: 1) }
  scope :inactive, -> { where(state: 0) }
end

然后配置 RailsAdmin 以使用适当的范围作为默认值。在您的情况下,active 如下:

RailsAdmin.config do |config|
  config.model User do
    list do
      scopes [:active]
    end
  end
end

有关详细信息,请参阅 RailsAdmin Wiki

您提供的图像中的 "Add Filter" 下拉菜单包含您可以添加条件的列。