无法将 Post 类的对象序列化为 BSON

发布于 2025-01-03 06:47:46 字数 471 浏览 0 评论 0原文

我在模型 post.rb 中:

class Post
 include Mongoid::Document
 attr_accessible :content, :original_post
end

posts_controller.rb 中的创建操作中:

def create
 @post = Post.new(params[:post])
 @post.original_post = @post
 @post.save
end

我想知道这篇文章是原创的,因为我将复制这篇文章,并且我将有更多具有相同功能的帖子。

但是,当我尝试创建帖子时,出现错误:

BSON::InvalidDocument(无法将 Post 类的对象序列化为 BSON。):

I have in model post.rb:

class Post
 include Mongoid::Document
 attr_accessible :content, :original_post
end

in create action in posts_controller.rb:

def create
 @post = Post.new(params[:post])
 @post.original_post = @post
 @post.save
end

I want to know that this post is the original because I will do copy of this post and I will have more post with the same features.

However when I try create the post, I get the error:

BSON::InvalidDocument (Cannot serialize an object of class Post into BSON.):

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒浓于脸红 2025-01-10 06:47:46

您是否尝试过序列化空帖子,例如:

@post = Post.new(params[:post])
@post.save

可能问题是 @post 包含自身作为变量。并且无法序列化为json(bson)。

Have you tried to serialize empty Post, like:

@post = Post.new(params[:post])
@post.save

May be the problem is that @post contains itself as variable. And it cannot be serialized to json (bson).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文