2017-05-12 3 views
0

Ich brauche Zugriff auf Parameter oder wenn nicht möglich Zugriff auf Anforderung URL innerhalb Modul. Ich weiß, dass ich sie an Methode übergeben kann, aber ich kann es nicht tun (müssen viele Methoden usw. neu erstellen)Müssen Zugriff auf Parameter von Controller innerhalb Modul ohne Parameter an Methode übergeben

Gibt es einige schnelle Möglichkeit, Zugriff auf Parameter zu haben, ohne sie innerhalb Methoden im Modul zu übergeben? Oder muss ich Code neu erstellen?

+0

fügen Sie Ihr Modul hinein Helfer und 'include' es in der Steuerung, dann können Sie dort auf Parameter zugreifen. –

+0

Sie meinen, benötigen Sie mein Modul in Application Controller? und dann in den Controller dieses Modul einbeziehen? –

+0

'app/helpers/your_module.rb', in Ihrem Controller, wo Sie es verwenden möchten:' include YourModule'. –

Antwort

1

In Ihrem Klassenmodul

cattr_accessor :params 

Von jedem Ihrer Controller,

before_action :set_params 

in Anwendungssteuerung,

def set_params 
    YourModule.params = params 
end 

PS Ungeprüfte und theoretischen, hoffe, es funktioniert;)

+0

Ich bekomme undefinierte Methode Parameter in meinem Modul. Versuchen herauszufinden, warum. –

+0

Da es 'cattr' ist, um auf es zuzugreifen, wenn Ihre Methode self ist, ist' params' ausreichend, sonst 'YourModule.params' –

+0

Aber sollte ich eine Methode erstellen, um params innerhalb meiner Modulklasse zu initialisieren? Ich habe: Modul Test -> Klasse MyClass -> cattr_accessor: params. Sorry für fragen, aber ich habe nie cattr_accessor verwendet –

Verwandte Themen