Rails 3 Helfer-Methode verfügbar im Modell
Ich bin beim aktualisieren einer app zu Rails 3. Wir haben eine Anwendung, die Steuerung wie folgt:
class ApplicationController < ActionController::Base
helper_method :current_user
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
Da definieren wir "helper_method", "current_user" ist für alle die Aussicht. Es ist erhältlich für die Controller, weil Sie Erben alle von der Klasse ApplicationController.
Jedoch, als wir auf 2.3.8, Zugang zu "current_user" vorhanden war durch ein Modell, aber jetzt ist es nicht. Gibt es eine Möglichkeit, diese zu bekommen ausgesetzt Modelle?
InformationsquelleAutor user577808 | 2011-04-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte ich schlage vor, bewegt
current_user
in einen Helfer wieUserHelper
, dann können Sie es in Ihrem Modell mitinclude UserHelper
.Außerdem musst du
include UserHelper
in Ihrem ApplicationController, aberhelper :user
gehören, wie normal, in Ihren Ansichten zu.stack level too deep
Fehler für mich, wenn die Modell-Datei zugegriffen wird. Möglicherweise wird nicht die Arbeit mit rails 3.2 (ich habe versucht mit 3.2.3 und 3.2.8).gleiche hier... alle Weg, es zu tun ?
klingt wie Sie ' re tun einige rekursive Aufrufe sind, Sie stecken in einem endlosen Kreislauf.
InformationsquelleAutor Kelly