Salut, Comment reproduire sur les controlleurs le comportement polymorphique des modèles ? Bon dis comme ça c pas forcement clair. Alors reprenons l'exemple de l'Agile Web Development with Rails :
Les classes Article, Sound, Image héritent de CatalogEntry grâce à l'association polymorphique. Ces trois classes ont un attribut qui est le contenu (content) avec des types différents. class CatalogEntry < ActiveRecord::Base belongs_to :resource, :polymorphic => true end class Article < ActiveRecord::Base has_one :catalog_entry, :as => :resource end class Sound < ActiveRecord::Base has_one :catalog_entry, :as => :resource end class Image < ActiveRecord::Base has_one :catalog_entry, :as => :resource end Maintenant j'aimerais avoir un controlleur pour afficher le contenu de ces modèles. J'imagine avoir un controlleur par classe. A priori je compte afficher le catalogue et appeller la méthode d'affichage sur l'élément du catalogue. Donc j'appelle la methode show_content du controlleur CatalogEntryController qui lui devrait répercuter l'appel sur la même méthode du controlleur fils. class CatalogEntryController < ApplicationController def show_content Et là j'aimerais appeler la méthode show_content du controller "fils". C'est bête mais je ne sais pas comment faire. end end class ArticleController < CatalogEntryController def show_content end end class SoundController < CatalogEntryController def show_content end end class ImageController < CatalogEntryController def show_content end end Comment appelle-t-on la méthode de la classe fille ? Pour appeller la méthode de la classe parent c'est "super" mais comment ça marche dans l'autre sens ?? Toute aide serait appréciée ! H -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---
