Вот ситуация.
user embed_one profile
profile belongs_to city
Я заполнил таблицу города с помощью
id as Integer
name as String
Теперь я делаю
user.update_attributes(:profile_attributes{:city_id=>"5"})
, имитирующий представление формы браузера. Затем я проверяю user.profile
, я вижу, что city_id хранится как строка. Это дает моему user.profile.city
, чтобы дать нуль.
Мне интересно, что здесь делать правильно. Должен ли я указывать свой город id или объект BSON? Или я должен попытаться перехватить update_attributes, чтобы сделать mongoid store city_id целым? Причина, по которой я использую Integer как id для города, состоит в том, что я думал, что поиск по Integer быстрее, чем поиск по строке. А также у меня есть таблицы состояния и города, и я хочу, чтобы идентификаторы были определены предсказуемым образом, поэтому я не хочу использовать ключ BSON randome.