Ошибка обновления 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 Внутри почтовой модели решена проблема.

Другие вопросы по тегам