2010-06-22 8 views

Répondre

0

attr_accessor est d'ajouter des méthodes get/set sur un objet ruby. Avec un modèle ActiveRecord, ceux-ci sont créés automatiquement en fonction des colonnes de votre schéma.

Normalement, tous les attributs ActiveRecord sont « accessibles », qui signifie que vous pouvez les valeurs de masse Assigner à tous du hachage params: Model.update_attributes(params[:model])

Vous pourriez penser de attr_accessible qui ne fait que certaines colonnes accessibles de cette façon, et rend le reste "protégé", de sorte qu'ils ne peuvent être affectés directement à travers leur méthode setter.

L'opposé est attr_protected qui laisse toutes les colonnes accessibles sauf celles que vous spécifiez.

0

Je ne sais pas si je comprends bien votre question (?), mais si votre modèle se rapporte directement à la base de données, ces propriétés sont déjà accessibles.

+0

Ainsi, attr_accessor est-il réellement utilisé uniquement pour les variables d'instance qui ne sont pas directement liées à la base de données? – Tian

Questions connexes