2011-08-07 191 views
0

我想设置一个嵌套窗体,而我不能工作的主要事情是知道何时执行构建方法。这里是我的模型:在rails 3嵌套窗体

class User < ActiveRecord::Base 
    belongs_to :address 
    accepts_nested_attributes_for :address 
end 

class Address < ActiveRecord::Base 
    has_one :user 
end 

在我已经找到了所有的例子,这似乎是预先轨3,我看到了以下两种方法:

user.address.empty? 
user.address.build 

我已成功地簸出我半睡着了谷歌赋的构建已替换为:

user.build_address 

我试图找出是什么更换为空?当我在控制台上尝试时,它似乎并不存在,但user.build_address很棒。

任何想法?

感谢...

+0

呃,也许我正在推翻这个。 user.address.nil? – jaydel

回答

2

对于HAS_ONE关系build_address将创建一个空的地址实例或将加载已有实例。所以你不需要拨打user.address.empty?

+0

啊,完美无瑕,非常感谢 – jaydel