Я до текущей версии Mongoid 2.0.2, я мог сделать
User.criteria.id( 1234 ) #=> user#1234
Но теперь он выдает ошибку без метода. Это было изменено на что-то другое или это было удалено?
Спасибо за ваш вклад
Я до текущей версии Mongoid 2.0.2, я мог сделать
User.criteria.id( 1234 ) #=> user#1234
Но теперь он выдает ошибку без метода. Это было изменено на что-то другое или это было удалено?
Спасибо за ваш вклад
Вы всегда можете сделать это:
User.where(:conditions => {:id => '1234'})
Или, если вам на самом деле не нужен объект критериев (и вам просто нужен пользователь с идентификатором «1234»), вы можете просто сделать:
User.find('1234')
Обнаружив это, они (команда mongoid) удалили селектор критериев#id из последней версии mongoid. Причина, по которой я не использую Model.find, заключается в том, что он не выполняет ленивую загрузку, в отличие от условия#id. Но вернемся к вопросу здесь. Они заменили критерии#id на критерии#for_ids.
Итак, Model.criteria.for_ids('1234') будет работать