У меня есть модель под названием «Кандидат», в столбце «Статус» есть строка. Я бы хотел упорядочить записи по статусу от «Новый» до «В ожидании». Мой код работал в Sqlite3, но не в PostgreSQL.
Это моя модель:
class Candidate < ApplicationRecord
belongs_to :collaborator, optional: true
has_many :curriculum_vitaes, dependent: :destroy
def self.order_by_status
order_by = ["CASE"]
STATUS.each_with_index do |status, index|
order_by << "WHEN status='#{status}' THEN #{index}"
end
order_by << "END ASC, name ASC"
order(order_by.join(" "))
end
STATUS = [
"New",
"Received CV",
"Checking CV",
"Waiting Interview",
"Waiting Result",
"Passed",
"Failed",
"Pending"
]
И в контроллере, когда я заказываю записи по
@candidates = Candidate.order_by_status
Я всегда получаю ошибку:
PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
Вы можете мне помочь?