2012-09-04 54 views
0

從文檔,我看到,如果我有一個模型:如何爲嵌套屬性指定attr_accessible?

User has_many Addresses 

,我可以這樣做:

class User < AR::Base 

    attr_accessible :addresses_attributes 
    accepts_nested_attributes_for :addresses 

end 

,我應該能夠從用戶設置的屬性。但我不能。我是否還需要在地址模型中添加「attr_accessible」標註?

回答

1

是的,你也必須在地址模型上設置attr_accessible。

當ActiveRecord使用屬性散列初始化實例時,如果未由attr_accessible標記的屬性是散列鍵的一部分,它將引發異常。由於在關聯中,ActiveRecord對象使用屬性散列進行初始化,因此不會用attr_accessible來說明Address模型中的這些屬性。