Depuis la classe parente tu ne peux pas appeler les classes filles, 
l'héritage c'est comme ça.
Il faut que tu te débrouille pour que ce soit la classe fille (donc le 
controleur enfant) qui soit appelé

Sinon, met les methode show_content directement dans la classe mère
par exemple:
def show_article_content
...
end

Et si tu veux que cette methode soit accessible dans le controlleur des 
articles sous le nom "show_content", mets_y
def show_content
    show_article_content
end
ou bien fait un alias

Mais bon c'est un peu superflu, autant appeler directement 
show_article_content, elle est déjà dispo dans le controlleur 
ArticlesController puisque héritée.

Harry Seldon a écrit :
> 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
>   


--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---

Répondre à