Я ищу группу по году только в поле даты create_at.Я использую postgres и нахожу его отличным от использования Mysql.
Я хочу отображать только годы и использовать их в параметре поиска.
Я получаю следующееошибка: missing attribute: created_at
Форма для поиска
<%= form_tag(page_path, method: :get) do %>
<%= select_tag :select_year, options_for_select(@years.map { |m| m.created_at.year }) %>
<%= submit_tag 'Search', name: nil %>
<% end %>
Контроллер (индекс)
@trials = if params[:select_year]
Product.where('extract(year from created_at) = ?', "#{params[:select_year]}")
else
Product.where('extract(year from created_at) = ?', Time.now.year))
end
@years = Product.group('extract(year from created_at)').order('extract(year from created_at) DESC').select('extract(year from created_at)')