2012-02-08 6 views
0

J'ai un modèle de commentaire dans mon application avec beaucoup de comment_typesModèle sans migration. Rails

class Comment < ActiveRecord::Base 
    belongs_to :comment_type, :polymorphic => true 
end 

J'ai aussi un système d'AQ public. Ainsi, pour chaque paire que j'ai un modèle

class QA < ActiveRecord::Base 
    has_one :question, :class_name => :comment, :as => :comment_type, :autosave => true 
    has_one :asnwer, :class_name => :comment, :as => :comment_type, :autosave => true 
end 

Et cela semble un peu excessive pour moi d'avoir une table spéciale pour le modèle d'assurance qualité. Parce que cette table devrait avoir seulement une clé ID. Alors, y a-t-il une meilleure solution? Ou peut-être quelque chose de mal avec mon architecture au total?

+0

duplication possible de [ActiveRecord :: Base sans table] (http://stackoverflow.com/questions/937429/activerecordbase-without-table) – Ximik

+0

semble avoir trouvé une solution. Désolé pour ça. – Ximik

Répondre

1

Pourquoi un modèle d'assurance qualité? Je le ferais avec une Question has_many Answers et une question has_many Comments. Et optionnellement vous pouvez dire une réponse has_many Comments, si vous voulez que les utilisateurs puissent commenter d'autres commentaires. Beaucoup plus facile je pense.

+0

La caractéristique principale (si on peut l'appeler ainsi) du système d'assurance qualité dans mon application est d'avoir seulement une question et une réponse. Donc cette solution n'est pas pour moi, mais merci. – Ximik