1
Je suis utiliser Rails 2.2.2. Rails ledit manuel, le moyen d'étendre contrôleur de plug-in est la suivante:Rails. Comment étendre la classe de contrôleur du plugin sans aucune modification dans le fichier du contrôleur?
plug-in:
module Plug
def self.included(base)
base.extend ClassMethods
base.send :include, InstanceMethods
base.helper JumpLinksHelper
end
module InstanceMethods
def new_controller_metod
...
end
end
module ClassMethods
end
end
app/contrôleur/name_controller.rb
class NameController < ApplicationController
include Plug
...
extrémité
Question: est un moyen d'étendre le contrôleur à partir du plug-in, sans aucune modification du contrôle r fichier, si nous connaissons le nom du contrôleur.
Rails initialize plug-ins d'abord, puis contrôleur. Je ne peux donc exécuter ce code qu'à la fin de environment.rb. Mais même construction: class_eval (% {class NameControler \ n include Plung \ n end;}) à la fin de environment.rb (de façon inattendue pour moi) ne donne aucun résultat. – potapuff
@neutrino votre solution presque parfaite, mais je ne peux pas comprendre? où je shell exécuter cette paix de code? si je l'exécute dans environment.rb, il sera bien utilisé ** seulement ** pour l'exécution du premier contrôleur. – potapuff
ne peut pas penser à quelque chose de particulier en ce moment. btw, pour la production cela devrait être suffisant. –