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

时间:2016-03-28 04:06:01

标签: ruby-on-rails ruby rails-admin

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

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

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

enter image description here

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

您提供的图像中的“添加过滤器”下拉列表中可以添加条件的列。