2015-10-05 11 views
8

Ich bin verwirrt durch die Rails-Dokumentation, die ich lese here. Insbesondere dieser Satz:Hilfsprogramm im Controller in Rails verwenden 4.2.4

Standardmäßig enthält jeder Controller alle Helfer. Diese Helfer sind nur zugänglich, auf dem Controller durch .helpers

Was .helpers ist, dass es bezieht sich auf? Ich habe einen Helfer definiert in app/helpers/areas_helper.rb:

module AreasHelper 
    def my_helper 
    puts "Test from helper" 
    end 
end 

Ich mag würde diese Helfer in app/controllers/locations_controller.rb verwenden:

class LocationsController < ApplicationController 
    def show 
    helpers.my_helper 
    end 
end 

Allerdings bekomme ich eine Methode nicht definiert Fehler. Wie soll das .helpers verwendet werden?

Ich weiß, es gibt andere Möglichkeiten, um auf Helfer in den Controllern zuzugreifen, aber ich frage speziell nach dieser Dokumentation und was sie zu sagen versucht.

+0

Ich glaube, der Verweis auf '.Helpers' ist die eingebaute Rails Helfer, wie' redirect_to' usw. –

+0

Aber was bedeutet das. Wo kommt '.helpers' zum Einsatz, wenn ein eingebauter Rails-Helfer wie' redirect_to' verwendet wird? – flyingL123

+0

Tbh Ich weiß es nicht. Ich lese es gerade auf. Meine Antwort ist gültig, so verwenden wir benutzerdefinierte Helfer in unseren Controllern - wie für '.helpers' Ich sehe es –

Antwort

7

Sie soll die Hilfsklasse in der Steuerung enthalten:

#app/controllers/locations_controller.rb 
class LocationsController < ApplicationController 
    include AreasHelper 

    def show 
     my_helper 
    end 
end 
+1

Wenn mehrere Helfer benötigt werden, können sie durch Kommas getrennt sein - '' 'beinhalten AreasHelper, AnotherHelper''' –

Verwandte Themen