11

次のようなものがあるとしましょう:

@order = Order.new(status: :pending)

@item  = @order.items.build(title: "Shirt")

を呼び出そうとすると@item.order、見つからないというエラーが発生します。これは、まだ DB に保存されていないためだと思いますが、オブジェクトを保存せずに構築されたオブジェクトを指すようにするにはどうすればよいでしょうか?

@item.order # Not Found - Tries to fetch from the DB
4

3 に答える 3

0

それ@orderは、まだIDを取得していないためです。@order.items.buildそのため、アイテムを呼び出すときにnilinorder_idフィールドがあり、必要な注文が見つかりません。

ネストされた属性機能を使用して、関連付けられたレコードをまとめて保存することをお勧めします。

于 2013-11-11T12:14:05.347 に答える