2012-02-05 5 views
1

にクラスのポストのオブジェクトをシリアル化することはできません私はこのポストのコピーをし、私は同じ機能を持つより多くのポストを持っているので、このポストはオリジナルです。私はポストを作成しようとすると、は、私がモデルに<strong>post.rb</strong>を持ってBSON

はしかし、私はエラーを取得する:

BSON :: InvalidDocument(BSONにクラスのポストのオブジェクトをシリアル化することはできません。):

+0

'class Pin'は' class Post'ですか? –

+0

私は申し訳ありません編集! – hyperrjas

答えて

0

はあなたが空のシリアライズしようとしたことがありを以下のようなポスト、:

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

は問題がある可能性があります@postが変数としての地位を含んでいることです。そしてそれはjson(bson)にシリアル化することはできません。

+0

ありがとうございます。私は '@post.original_post = @ post'を保存する必要があります。それは正常に動作しますが、@ post.original_post'オブジェクト@postに保存する必要があります。どうしたらいいですか? – hyperrjas

+0

私が '@post.original_post = @ post.id'を置くとエラーは出ません。しかし、 '@ post.original_post'を入れて' => BSON :: ObjectId( '4f2ef01b1d41c82f1f000057') 'を取得した場合、私はパラメータを取得しません... – hyperrjas

+0

@hyperrjas' has_one:original_post'を追加してみてください –

関連する問題