2010-11-13 8 views

Répondre

7

Placez la méthode dans application_controller.rb. Ensuite, il sera disponible pour tous vos contrôleurs.

Si vous vouliez seulement le partager entre deux classes, vous pourriez faire quelque chose comme ça. Créez un nouveau contrôleur appelé contrôleur d'assistance et faites en hériter le contrôleur First/Second.

class FirstController < HelperController 

end 

class SecondController < HelperController 

end 

class HelperController < ApplicationController 
    helper_method :contoller_method 

    private 
    def contoller_method 
     "text" 
    end 
end 
+0

C'est une option :) Merci. Mais puis-je partager cette méthode uniquement entre deux contrôleurs? – petRUShka

1

Peut-être que cela?

class FirstController 
    include SomeConcern 
end 

class SecondController 
    include SomeConcern 
end 

module SomeConcern 
    def self.included(base) 
    base.helper_method :controller_method 
    end 

    private 

    def controller_method 
    "text" 
    end 
end