RailsAdmin - Настройка ваших собственных фильтров - PullRequest
8 голосов
/ 08 декабря 2011

Я использую https://github.com/sferik/rails_admin для управления моим интерфейсом администратора.

Возможно отфильтровать вашу модель на основе текущих столбцов, существующих в этой модели (id, creation_at и т. Д.)

Я хочу иметь возможность добавлять пользовательские фильтры для ассоциаций.

Например:

Когда я изучаю модель "Города", я хочу, чтобы можно было показывать только городакоторые имеют один или несколько проектов.

Я мог бы сделать это, добавив в города новый столбец с именем has_projects в качестве логического значения, для которого будет задано значение true, когда с ним связан 1 или более проектов, но я чувствую, что долженбыть более чистым способом сделать свои собственные фильтры?

Ответы [ 2 ]

2 голосов
/ 06 марта 2014

Вы можете попробовать использовать enum.См. https://github.com/sferik/rails_admin/wiki/Enumeration

Я использовал для ассоциации принадлежащих_, как показано ниже:

field :partner_id, :enum do
  enum do
    Partner.all.collect {|p| [p.name, p.id]}
  end
end

И в виде списка добавлено:

list do
  filters [:partner_id]
  ...
end    
0 голосов
/ 04 февраля 2012

В последнее время, часто просматривая документы в последнее время, я не верю, что функциональность для более элегантной обработки существует.

...