Я хотел бы использовать ransack для создания функции расширенного поиска для страницы с Users
. У меня есть небольшой метод расчета возраста по дате рождения:
def age(dob)
now = Time.now.utc.to_date
now.year - dob.year - ((now.month > dob.month || (now.month == dob.month && now.day >= dob.day)) ? 0 : 1)
end
Это работает на обычном дисплее (as in age(@user.date_of_birth)
)
Но при использовании search_form_for я не могу сделать то же самое:
<%= search_form_for @search, url: search_users_path, method: :post do |f| %>
<div class="field">
<%= f.label :date_of_birth_gteq, "Age between" %>
<%= f.text_field :date_of_birth_gteq %>
<%= f.label :date_of_birth_gteq, "and" %>
<%= f.text_field :date_of_birth_lteq %>
</div>
<div class="actions"><%= f.submit "Search" %></div>
<% end %>
Мой вопрос: как я могу использовать возраст в моем поиске вместо даты рождения?