Rails: как использовать вопросительные знаки в модели? - PullRequest
2 голосов
/ 06 января 2012

В нашей базе данных mongodb есть поле с именем «fail?», Включая знак вопроса.Иногда, когда я получаю доступ к этому полю, я получаю значение в базе данных, а иногда я получаю нулевое значение.Я пытаюсь понять, что должно произойти немного больше, чтобы отладить это.Итак, можете ли вы задать вопросительный знак в имени поля в модели, например, так:

field :failed?, :type => Boolean, :default => nil

или я в мире неприятностей.Предполагая, что у меня уже есть это в базе данных, и я должен работать с ним, как я должен получить поля.

Среда: Rails 3.1, JRuby, Mongoid.

1 Ответ

2 голосов
/ 06 января 2012

Скорее всего, это ошибка Mongoid, так как вопросительные знаки в именах полей действительны в MongoDB. Если бы мне пришлось сделать предположение, это могло бы быть странным конфликтом с автоматическим <field>?, созданным Mongoid.

Самый простой способ обойти это - попытаться получить к нему доступ через необработанный хэш, извлеченный из MongoDB, доступ к нему можно получить с помощью model.attributes["failed?"]. Если у вас все еще есть проблемы, скорее всего, это проблема с драйвером MongoDB.

...