Как сделать запросы активной записи, когда атрибуты используют enumerize - PullRequest
0 голосов
/ 18 апреля 2019
class AppointmentResponse < ActiveRecord::Base
...
  extend Enumerize
  enumerize :status, in: %i[unreviewed approved rejected], default: :unreviewed
...
end

Миграция:

def change
   add_column :appointment_responses, :status, :string
end

Итак, с этим я думаю, что я должен быть в состоянии делать запросы вроде:

AppointmentResponse.where(status: :unreviewed)

Но это возвращает: []

Но я знаю, что это ложь. Exibit A:

 #<AppointmentResponse:0x007feb02c5d290
  id: 16,
  ...
  status: "unreviewed">

И я могу подтвердить, что не совершил ужасную ошибку персонажа:

AppointmentResponse.last.status == "unreviewed"

true

Чего мне не хватает? Я также переключил extend Enumerize на include Enumerize. Это все то же самое. Я также попытался добавить scope: true и predicates: true, до сих пор нет. Я знаю, что Enumerize работает с активной записью. Что я делаю не так?

1 Ответ

1 голос
/ 19 апреля 2019

Я понял, что мне нужно добавить к миграции:

def change add_column: назначение_ответов,: статус,: строка, по умолчанию: «не просмотрены» конец

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...