я вижу какое-то странное поведение в Mongoid 2.3.4Mongoid - Присваивание массива
class Student
has_and_belongs_to_many: teachers
end
class Teacher
has_and_belongs_to_many: students
end
В настоящее время в IRB
s = Student.first
s.teachers
=> []
s.teacher_ids = [Teacher.first.id, Teacher.last.id]
s.teacher_ids
=> [[BSON::ObjectId4f7c3300913417162c000008, BSON::ObjectId4f7c333b913417162c00000d]]
Не знаю, почему этот массив вложен так. Я ожидал, что
[BSON::ObjectId4f7c3300913417162c000008, BSON::ObjectId4f7c333b913417162c00000d]
Это разбивает множественный выбор поля в Rails, где массовые присвоения идентификаторов будут происходить, как показаны в IRB.
Почему бы вам не перейти на более новую версию мангоида? – rubish
Хорошо, я проверю, исправлено ли это поведение в более новых версиях. Вы видите, что он работает правильно в более новой версии? –
У меня много таких полей в моих взглядах, и они отлично работают для меня. У меня это работало в 2.2.2, а также после перехода на 2.4.6 – rubish