Activo_admin y: filtrar
-
27-10-2019 - |
Pregunta
El problema radica en lo siguiente: Filtro: Contacto: AS =>: la cadena funciona correctamente si escribo la ID para el contacto. Pero eso no es práctico cuando tienes más de 2000 contactos. ¿Cómo puedo filtrar con éxito: contactar, as =>: cadena pero que busque: nombre en lugar de: id.
He probado lo siguiente sin éxito:
filter :contact, :as => :string, :collection => proc {Contact.where(:name => 'Paul' )}
filter :contact, :as => :string, :collection => proc { (Contact.order.all).resources{|c| [c.name]}}
Nota: Se puede encontrar mi repositorio aquí.
Modelo: Order.RB
belongs_to :contact
Migración:
def change
create_table :orders do |t|
t.string :tag
t.text :description
t.string :technician_id
t.string :status
t.string :type
t.string :contact_id
t.string :business_id
t.timestamps
end
final
Admin/ Orders/ - Orders.RB
filter :business
filter :contact, :as => :string, :collection => proc { (Contact.order.all).resources{|c| [c.name]}}
filter :tag
filter :description, :label => "Status"
filter :created_at
index do
column :business
column :contact
column :tag
column :status
column :description, :sortable => false do |order|
truncate(order.description, :length => 30)
end
Solución
ActiveAdmin usa gema meta_search, así que prueba esto:
filter :contact_name, :as => :string
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow