Проблема заключается в следующем: filter: contact,: as =>: строка успешно работает, если я набираю идентификатор для контакта. Но это не практично, если у вас более 2000 контактов. Как я могу успешно фильтровать: contact, as =>: string, но для поиска: name вместо: id.Active_admin и: filter
Я попытался следующие без успеха:
filter :contact, :as => :string, :collection => proc {Contact.where(:name => 'Paul')}
filter :contact, :as => :string, :collection => proc { (Contact.order.all).resources{|c| [c.name]}}
Примечание: мое хранилище можно найти here.
Модель: order.rb
belongs_to :contact
миграции:
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
конец
администратора/заказы/- 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