Не можете заказать, когда имя поля "Rails" в Rails? - PullRequest
0 голосов
/ 24 января 2020

У меня есть модель Game с полями start_time и date (среди прочих). @tournament.games.order('start_time asc') работает, но @tournament.games.order('date asc') не работает. t.games.order("date asc") и t.games.order("date desc") производят одинаковый заказ. Почему это так?

Вот моя схема для игр:

create_table "games", force: :cascade do |t|
  t.bigint "tournament_id", null: false
  t.string "team_one_type", null: false
  t.bigint "team_one_id", null: false
  t.string "team_two_type", null: false
  t.bigint "team_two_id", null: false
  t.bigint "field_id", null: false
  t.date "date"
  t.datetime "start_time"
  t.datetime "created_at", precision: 6, null: false
  t.datetime "updated_at", precision: 6, null: false
  t.index ["field_id"], name: "index_games_on_field_id"
  t.index ["team_one_type", "team_one_id"], name: "index_games_on_team_one_type_and_team_one_id"
  t.index ["team_two_type", "team_two_id"], name: "index_games_on_team_two_type_and_team_two_id"
  t.index ["tournament_id"], name: "index_games_on_tournament_id"
end

1 Ответ

1 голос
/ 25 января 2020

Это может быть просто потому, что вы выполняете поиск только по дате (и записи с одинаковой датой не изменятся), однако, если вы сортируете по DateTime, будет отсортирована каждая запись (включая записи за одну и ту же дату)

публикация комментария в качестве ответа, так как он исправил проблему ОП

...