У меня есть модель ActiveRecord с методом, определенным как это:Ошибка «Недействительный предикат» при обновлении с Meta_search до Ransack?
def state
if deleted?
:deleted
else
:expired
end
end
'search_method' определяется в модели как:
search_method: состояние
В вид:
= form.select: state, {: expired => 'Истек срок годности, : Удален => 'Удалено'} .invert,: include_blank => 'Все'
С Meta_search, этот метод работает отлично. Но когда я заменил драгоценный камень Ransack, я получаю: ArgumentError в Контроллере выборки Нет действительного предиката для состояния.
Я следую за этим поведением из meta_search search_methods, поэтому я мог бы принять неправильный подход. Кто-нибудь мне помогает, пожалуйста?
Я думаю, вам нужно применить предикат в поле, как 'state_start'. Взгляните на эту проблему https://github.com/activerecord-hackery/ransack/issues/22 – phoet