Wenn die Methode direkt in der Steuerung definiert wurden, würden Sie es Ansichten zur Verfügung stellen müssen helper_method :method_name
durch den Aufruf.
class ApplicationController < ActionController::Base
def current_user
# ...
end
helper_method :current_user
end
Mit einem Modul können Sie das gleiche tun, aber es ist ein bisschen komplizierter.
module Authentication
def current_user
# ...
end
def self.included m
return unless m < ActionController::Base
m.helper_method :current_user # , :any_other_helper_methods
end
end
class ApplicationController < ActionController::Base
include Authentication
end
Ah, ja, wenn Ihr Modul unbedingt ein Helfer-Moduls zu verstehen ist, Sie als Lichtamberg tun kann gesagt. Aber dann könnten Sie es einfach AuthenticationHelper
nennen und in den Ordner app/helpers
legen.
Obwohl, nach meiner eigenen Erfahrung mit Authentifizierungscode, Sie werden wollen, dass es für die Steuerung und Ansichten verfügbar sein. Weil Sie normalerweise Autorisierung im Controller behandeln. Helfer sind ausschließlich für die Ansicht verfügbar. (Ich glaube, dass sie ursprünglich als Shorthands für komplexe HTML-Konstrukte gedacht sind.)
UPD: Rails Version 2.3.3 –
Ah ja, endlich klingt, als wäre es vorteilhaft für Sie, dies als ein Plugin statt lose Datei zu erstellen in/lib. – kch
Was ist der Sinn von 'return es sei denn m
Liquiddots