1

私はhas_many別のオブジェクトと関係があります。このため、Mongoid はitem_idsArray という名前の属性を作成するので、多数の ID を配列として便利に保存できます。ただし、新しい配列を保存しようとすると、実際には保存されません。Rails コンソールで、次のコードを実行します。

1.9.3p385 :035 > miss.item_ids = [1,2,3]
 => [1, 2, 3] 

1.9.3p385 :036 > miss.save
[paperclip] Saving attachments.
 => true 

1.9.3p385 :037 > miss.item_ids
 => [] 

ご覧のとおり、オブジェクトを保存すると true が返されます。ただし、チェックアウトに戻るとitem_ids、空の配列が返されます。私は何を間違っていますか?

4

2 に答える 2

3

「item_ids」は属性ではなく、いくつかのクエリを実行して関連オブジェクトの ID のみを返し、それらを配列に追加するメソッドです。

miss.item_ids = [1,2,3] のようなことをすると、Mongo を使用しているため、基本的にドキュメントにそのフィールドを作成することになります。

于 2013-03-22T05:33:56.423 に答える
1

リレーションを手動で作成しています。試すmiss.items << item

miss.itemsアイテムの配列を返すようになりました

于 2013-03-22T09:27:26.417 に答える