Rails 3.1, ActiveAdmin 0.3.4.ActiveAdmin, полиморфные ассоциации и настраиваемые фильтры
Мой вопрос несколько схож с this one, но достаточно разный с точки зрения моделирования данных, который, я думаю, гарантирует его собственный отклик. Модели:
class CheckoutRequest < ActiveRecord::Base
has_one :request_common_data, :as => :requestable, :dependent => :destroy
end
class RequestCommonData < ActiveRecord::Base
belongs_to :requestable, :polymorphic => true
end
RequestCommonData
модель имеет completed
поле (логическое), что я хотел бы иметь возможность фильтровать в странице CheckoutRequest
индекса ActiveAdmin в. Я попробовал несколько различных подходов к никакому выгода, включая следующие:
filter :completed, :collection => proc { CheckoutRequest.all.map { |cr| cr.request_common_data.completed }.uniq }
, который приводит к отсутствию фильтра отображается. Добавление :as => :select
в строку следующим образом:
filter :completed, :as => :select, :collection => proc { CheckoutRequest.all.map { |cr| cr.request_common_data.completed }.uniq }
результаты в следующем MetaSearch сообщение об ошибке:
undefined method `completed_eq' for #<MetaSearch::Searches::CheckoutRequest:0x007fa4d8faa558>
То же процедура возвращает [true, false]
в консоли.
Любые предложения были бы весьма желанными. Благодаря!
Спасибо за ответ! Я посмотрю и посмотрю, работает ли это для меня. Если это произойдет, я буду отмечать это как правильный ответ. – justinbach
Спасибо! Это отлично работает для меня! –