2010-03-02 6 views
0

Bonjour, j'ai une liste de 'zones' qui ne sont que des zones de mon site. Je veux être capable de les insérer dans la base de données et dire quel type de zone ils sont, cela pourrait être le nom du modèle qui hérite d'une zone de base. De cette façon, je peux écrire un contrôleur générique qui utilise des vues différentes et une logique différente du modèle chargé pour décider comment la page doit agir.activecords polymorphes dans les rails?

Le problème est que je n'ai aucune idée de la façon de le faire car je suis nouveau sur les rails .. Des pointeurs? (Ou quelqu'un dire « ne le fais pas comme ça! Fais comme ça! » Serait très apprécié aussi)

Merci

Répondre

0

Vous voulez créer une colonne nommée: Type

Rails utilisera automatiquement la colonne de type à détermine la classe de la classe enfant.

Ensuite, vous pouvez faire quelque chose comme:

class Area < ActiveRecord::Base 

end 

class UserPage < Area 

end 

Alors quand vous faites

UserPage.create(:key => 'value') 

Il va créer une entrée dans la table des zones avec le champ de type mis à UserPage.

Questions connexes