Note : Ceci a été écrit et accepté à l'époque de Rails 2 ; aujourd'hui réponse de Grosser est la voie à suivre.
Option 1 : Le moyen le plus simple est probablement d'inclure votre module d'aide dans votre contrôleur :
class MyController < ApplicationController
include MyHelper
def xxxx
@comments = []
Comment.find_each do |comment|
@comments << {:id => comment.id, :html => html_format(comment.content)}
end
end
end
Option 2 : Ou vous pouvez déclarer la méthode d'aide comme une fonction de classe, et l'utiliser comme suit :
MyHelper.html_format(comment.content)
Si vous souhaitez pouvoir l'utiliser à la fois comme une fonction d'instance et comme une fonction de classe, vous pouvez déclarer les deux versions dans votre aide :
module MyHelper
def self.html_format(str)
process(str)
end
def html_format(str)
MyHelper.html_format(str)
end
end
J'espère que cela vous aidera !
2 votes
Vous pouvez considérer la réponse de @grosser, elle est beaucoup plus complète.
0 votes
Je sais que c'est vieux, mais... qu'est-ce qui ne va pas avec les classes ruby ordinaires ? :p