2011-12-08 16 views
6

Estoy usando https://github.com/sferik/rails_admin para manejar mi interfaz de administración.RailsAdmin - Personalización de sus propios filtros

Es posible filtrar su modelo basado en las columnas actual que existe en este modelo (id, created_at etc.)

Quiero ser capaz de añadir filtros personalizados para asociaciones.

Por ejemplo:

Cuando estoy explorando el modelo de "pueblos" Quiero ser capaz de mostrar sólo las ciudades que tienen uno o más proyectos.

Podría hacer esto agregando una nueva columna a las ciudades, llamada has_projects como un booleano que se establecerá en verdadero cuando haya 1 o más proyectos asociados, pero creo que debe haber una manera más limpia de crear su propia filtros?

+0

Ver https://stackoverflow.com/questions/26180943/in- rails-admin-how-can-i-filter-on-an-association-count –

Respuesta

-1

Habiendo navegado recientemente the docs frecuentemente últimamente, no creo que exista la funcionalidad para manejar esto de manera más elegante.

+0

¿Deseas ampliar eso? Solo el enlace a los documentos es de mala calidad. – XanderStrike

2

Puede probar el uso de enum. Ver https://github.com/sferik/rails_admin/wiki/Enumeration

que utilicé para belongs_to asociación, como la siguiente:

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

Y en vista de lista, añadí:

list do 
    filters [:partner_id] 
    ... 
end  
+4

Esto no parece aplicarse a la pregunta. Está dando posibles valores para filtrar/seleccionar para un campo de base de datos existente, ': partner_id'. El OP pregunta sobre el filtrado basado en una consulta: "muéstrame ciudades con 1 o más proyectos asociados". –

Cuestiones relacionadas