У меня маленькая проблема.И не знаю, как это исправить.
Я хочу, чтобы после фильтрации по pg_search_scope я мог сортировать по возрастанию и убыванию при нажатии.Если я пытаюсь сортировать без поиска, все работает нормально, но если я использовал поиск (заглядывает, если params [: q] .present? At trucks_controller), это не работает: (
model / truck.rb
class Truck < ApplicationRecord
include PgSearch
pg_search_scope :search,
against: [:name],
using: {
tsearch: {
prefix: true,
any_word: true
}
}
#Associations
belongs_to :company
has_many :crews
#Validations
validates_presence_of :name, :company
validates_uniqueness_of :name, scope: [:company]
end
trucks_controller.rb
class TrucksController < ApplicationController
before_action :load_truck, only: [:update, :destroy, :show]
before_action :load_search_trucks, only: :index
def index
paginate json: @trucks, status: :ok, per_page: 10
end
private
def load_search_trucks
if params[:q].present?
@trucks = current_company.trucks.search(params[:q]).order_by(params[:sort_by], params[:direction])
else
@trucks = current_company.trucks.order_by(params[:sort_by], params[:direction])
end
end
end