2012-07-16 2 views
0

À partir d'un enregistrement de personne, je dois être en mesure d'ajouter/afficher des documents de types spécifiques. Y compris les conditions pour les travaux category_id mais à ce stade je ne peux pas supposer que les identifiants de catégorie resteront les mêmes que le développement progresse. C'est aussi un problème avec les tests où je crée uniquement les catégories dont j'ai besoin.rails - has_many categories

Est-il possible que je peux définir dynamiquement le category_id, par exemple quelque chose comme ceci:

has_many :personal_documents, :as => :documentable, :conditions => "category_id = #{DocumentCategory.find_by_name('Personal').id}", class_name: 'Document' 

Modèles:

Person < AR::Base 
    has_many :documents, :as => :documentable 
    has_many :personal_documents, :as => :documentable, #:conditions => "category_id = 1" 
    has_many :legal_documents, :as => :documentable, #:conditions => "category_id = 2" 
end 

Animal < AR::Base 
    has_many :documents, :as => :documentable 
end 

Document < AR::Base 
    belongs_to :person 
    belongs_to :category 
end 

Répondre

0

Pouvez-vous utiliser simplement les graines avec ids statiques?