Ошибка обновления Mongoid Rails для документов со встроенными документами
У меня есть модель под названием Пользователь. Пользователь embeds_many сообщений.
Для записей пользователей со встроенными сообщениями, когда я пытаюсь обновить любое другое поле, я получаю сообщение об ошибке
NoMethodError: undefined method `each' for false:FalseClass
Я использую обновление следующим образом
user = User.find('56da7307421aa90ca4000000')
user.update(likes: 12)
Если я удалю embeds_many :posts
из файла модели пользователя, вышеупомянутый запрос на обновление работает нормально.
1 ответ
Решение
Наконец-то я разобрался в проблеме сам. Проблема была результатом плохой письменной ассоциации. Это должно быть похоже на приведенное ниже. Но я пропустил embedded_in
отношения внутри почтовой модели.
class User
embeds_many :posts
end
class Post
embedded_in :user
end
Пишу embedded_in :user
Внутри почтовой модели решена проблема.