Mongoid Rails 具有嵌入文档的文档更新错误

Mongoid Rails update error for documents having embedded documents

我有一个名为 User 的模型。用户 embeds_many 个帖子。

对于嵌入帖子的用户记录,每当我尝试更新任何其他字段时,我都会收到错误消息

NoMethodError: undefined method `each' for false:FalseClass

我正在使用更新如下

user = User.find('56da7307421aa90ca4000000')
user.update(likes: 12)

如果我从用户模型文件中删除 embeds_many :posts,上述更新查询工作正常。

最后我自己弄明白了这个问题。这个问题是错误的书面联想的结果。它必须像下面给出的那样。但是我错过了 Post 模型中的 embedded_in 关系。

class User
  embeds_many :posts
end

class Post
  embedded_in :user
end

在 Post 模型中写入 embedded_in :user 解决了问题。