У меня есть модель Упражнения, и у нее есть столбцы: circuit и: order (среди прочих). Во-первых, я пытаюсь заказать Упражнения сначала: circuit, а затем по: order. Когда я использую следующее:Метод заказа рельсов; column name: order
@schedule.exercises.order(:circuit).each do |exercise|
работает, как ожидалось. Однако, когда я пытаюсь добавить: столбец заказа:
@schedule.exercises.order(:circuit, :order).each do |exercise|
Я получаю следующее сообщение об ошибке:
SQLite3::SQLException: near "order": syntax error: SELECT "exercises".* FROM "exercises" WHERE "exercises"."schedule_id" = 1 ORDER BY circuit, order
Та же ошибка возникает также, когда я прохожу: колонки порядок в одиночку:
@schedule.exercises.order(:order).each do |exercise|
SQLite3::SQLException: near "order": syntax error: SELECT "exercises".* FROM "exercises" WHERE "exercises"."schedule_id" = 1 ORDER BY order
Я предполагаю, что это потому, что имя столбца (: order) совпадает с именем метода SQL (order
). Мне интересно, есть ли что-то вроде этого, кроме изменения заголовка столбца?
Спасибо, Стюарт
Возможно, просто изменить название столбца для сортировки, а не использовать зарезервированное ключевое слово. –