2016-03-28 67 views
1

我有兩種型號 - UserArticle,其中用戶可以有很多articles。 在用戶中有一列status,其值爲1或0. 我的問題是,在用戶列表中,我如何通過某些條件限制記錄。例如,如'SELECT * FROM users WHERE status = 1'?RailsAdmin如何根據條件限制列表記錄?

我已經看過協會範圍,但不認爲這是我所需要的。

例如在下圖中,作者'Kame Man'不應該出現在列表中。

​​

+0

我正在使用rails_admin,默認情況下它顯示來自db的所有記錄,我不知道在哪裏添加條件。 – Gricher

+0

[字段可見性配置](https://github.com/sferik/rails_admin/wiki/Fields#visibility-and-ordering),[每個模型配置](https://github.com/sferik/rails_admin#per-模型)。 – Amadan

回答

2

您需要設置scopesUser型號如下:

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獲取更多信息。