Монгоидные критерии для id

Я до текущей версии Mongoid 2.0.2, я мог сделать

User.criteria.id( 1234 ) #=> user#1234

Но теперь он выдает ошибку без метода. Это было изменено на что-то другое или это было удалено?

Спасибо за ваш вклад


person Nik So    schedule 25.05.2011    source источник


Ответы (2)


Вы всегда можете сделать это:

User.where(:conditions => {:id => '1234'})

Или, если вам на самом деле не нужен объект критериев (и вам просто нужен пользователь с идентификатором «1234»), вы можете просто сделать:

User.find('1234')
person theTRON    schedule 30.05.2011
comment
Спасибо, theTRON, я копался на странице github для проблем с монгоидами и нашел ответ, пожалуйста, смотрите мой ответ ниже, если вам интересно - person Nik So; 31.05.2011

Обнаружив это, они (команда mongoid) удалили селектор критериев#id из последней версии mongoid. Причина, по которой я не использую Model.find, заключается в том, что он не выполняет ленивую загрузку, в отличие от условия#id. Но вернемся к вопросу здесь. Они заменили критерии#id на критерии#for_ids.

Итак, Model.criteria.for_ids('1234') будет работать

person Nik So    schedule 30.05.2011