Ich habe für kurze Zeit mit Ruby on Rails gearbeitet. Kürzlich habe ich ein Authentifizierungssystem für meine Anwendung implementiert. Ich habe eine Methode für 'application_helper.rb' zur Verfügung gestellt, um den aktuell angemeldeten Benutzer (Methode namens current_user) abzurufen.Ruby on Rails: Gängige Methode für Controller und Views?
Die Methode ruft nur mein User
Objekt ab, wenn die session[:user_id]
Variable vorhanden ist.
Allerdings habe ich das folgende Problem.
- Wenn ich die
current_user
Methode in 'application_helper.rb' setzen, meine Controller kann nicht Gebrauch davon - machen Wenn ich die
current_user
Methode in 'application_controller.rb' platzieren, meine Ansichten kann nicht davon Gebrauch machen
Was ist der beste Ansatz, um dieses Problem zu lösen? Der einfache Weg wäre, meinen Code sowohl im Controller als auch im Helfer zu duplizieren, aber ich weiß, dass es einen besseren und korrekten Weg gibt.
Vielen Dank im Voraus
Ich wusste, es würde etwas so einfach wie das sein. Ich dachte, helper_method hätte das Gleiche getan wie die Methode in die Hilfsklasse, aber das ist es nicht. Danke für die schnelle Antwort und die Syntaxbearbeitung. :) – Lupi
@meagar: Ich habe das gleiche Problem, aber das Hinzufügen von Hilfsmethode hat es nicht behoben, ich habe sowohl meine Methode als auch meinen Helfer in meinem class_controller nicht Application Controller definiert. http://stackoverflow.com/questions/24993912/share-method-in-view-and-controller-ruby-on-rails-4 – user1876128