可以自动新建吗?

可以自动新建吗?

如果一个product的 model含有下面的语句,说明可以在删除product时也删除sub_product
has_many :sub_products, :dependent => :destroy

那么有没有在新建一个product时也能自动新建一个sub_product的方法呢?因为每次建product后,得到product的id才能新建一个sub_product,这样如果发生错误,数据库中的数据可能会不一致。
不一定要得到ID才可以新建啊。

[Copy to clipboard] [ - ]
错误提示:sub_product is invalid
引用:
原帖由 skyover 于 2007-12-12 12:33 发表
不一定要得到ID才可以新建啊。


product = Product.new
sub_product = product.sub_products.create

product.save


这样就行了。
引用:
原帖由 sun201200204 于 2007-12-19 14:12 发表


product = Product.new
product.sub_products.create
product.save
如果是 has_many 和 belongs_to 的关系,可以避免数据库错误发生。

在 Sub_product里应该存有 product_id, :null => false

建立 Product后,

[Copy to clipboard] [ - ]
引用:
原帖由 yudi 于 2007-12-20 16:32 发表
如果是 has_many 和 belongs_to 的关系,可以避免数据库错误发生。

在 Sub_product里应该存有 product_id, :null => false

建立 Product后,

sub_product = Sub_product.new(params[product.id])
su ...