Mongoid2.3.4で奇妙な動作が見られます
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に示されているようにIDの一括割り当てが行われます。