New model object through an association
I thought it was possible to create a new model object through an association.
class Order < ActiveRecord::Base
belongs_to :basket
end
class Basket < ActiveRecord::Base
has_one :order
end
order = Order.new()
basket = order.basket.ne开发者_如何学Cw() # NoMethodError: undefined method `new' for nil:NilClass
It is, but your syntax is a little wrong:
class Order < ActiveRecord::Base
belongs_to :basket
end
class Basket < ActiveRecord::Base
has_one :order
end
order = Order.new()
basket = order.create_basket()
Use build_basket
if you don't want to save the basket immediately; if the relationship is has_many :baskets
instead, use order.baskets.create()
and order.baskets.build()
精彩评论