2012-09-04 3 views
0

De la documentation, je vois que si j'ai un modèle:Comment spécifier attr_accessible pour un attribut imbriqué?

User has_many Addresses 

que je peux le faire:

class User < AR::Base 

    attr_accessible :addresses_attributes 
    accepts_nested_attributes_for :addresses 

end 

que je devrais être en mesure de définir les attributs de l'utilisateur. Mais je ne peux pas. Dois-je également ajouter une légende "attr_accessible" dans le modèle Adresse?

Répondre

1

Oui, vous devez également définir attr_accessible sur le modèle Address. Lorsque ActiveRecord initialise une instance à l'aide d'un hachage d'attributs, il lève une exception lorsqu'un attribut qui n'a pas été marqué par attr_accessible fait partie des clés de hachage. Puisque dans les associations, les objets ActiveRecord sont initialisés avec un hachage d'attributs, il est impossible d'exclure ces attributs dans le modèle Address avec attr_accessible.

Questions connexes