Ruby on rails 实例化具有关联的模型

Ruby on rails 实例化具有关联的模型,ruby-on-rails,activerecord,associations,instantiation,Ruby On Rails,Activerecord,Associations,Instantiation,我有一个关于实例化一个带有关联的模型的问题 摘自: 但这是否也同样有效 class Order < ActiveRecord::Base attr_accessible :customer belongs_to :customer end @customer = Customer.new @order = Order.create(:customer => @customer) 类顺序@customer) 我的实验表明,在某种程度上确实如此。。但由于关联是惰性加载的

我有一个关于实例化一个带有关联的模型的问题

摘自:



但这是否也同样有效

class Order < ActiveRecord::Base
  attr_accessible :customer
  belongs_to :customer
end

@customer = Customer.new
@order = Order.create(:customer => @customer)
类顺序@customer)
我的实验表明,在某种程度上确实如此。。但由于关联是惰性加载的,所以在某些情况下可能会很棘手(如果您愿意,我可以举一个例子)

所以我的问题是:
实例化在多大程度上与前者一样有效?

这两种形式都有效


无论哪种方式,都可以将“客户id”字段设置为现有客户id的订单对象。调用customer.orders.create()时,它会在幕后填充该关联。在第二个示例中,您是手动执行的。

这两种形式都有效


无论哪种方式,都可以将“客户id”字段设置为现有客户id的订单对象。调用customer.orders.create()时,它会在幕后填充该关联。在第二个示例中,您是手动操作。

感谢您的回复。为什么属性是可访问的:客户错误?是否需要能够将:customer输入到构造函数中?我错了,attr_accessible正是您想要将该属性声明为属性哈希的白名单的内容。编辑我的答案以删除该评论。我将attr_accessible()误读为attr_accessior(),这是多余的。谢谢回复。为什么属性是可访问的:客户错误?是否需要能够将:customer输入到构造函数中?我错了,attr_accessible正是您想要将该属性声明为属性哈希的白名单的内容。编辑我的答案以删除该评论。我将attr_accessible()误读为attr_accessor(),这是多余的。或者即使使用此实例化:@order=order.create(:customer_id=>@customer.id),我认为它与上面所述的后者类似。或者即使使用此实例化:@order=order.create(:customer_id=>@customer.id)我认为这与上面提到的后者相似。
@order = @customer.orders.create(:order_date => Time.now)
class Order < ActiveRecord::Base
  attr_accessible :customer
  belongs_to :customer
end

@customer = Customer.new
@order = Order.create(:customer => @customer)