3 Stimmen

Die Seite wird nicht richtig weitergeleitet Ruby on Rails

Aus irgendeinem Grund erhalte ich einen Fehler, wenn ich auf einen geschützten Teil meiner Seite klicke:

Firefox: Die Seite wird nicht richtig weitergeleitet

Die folgende Methode verwende ich in meinem ApplicationController :

protected
  def authorize
    unless User.find_by_id(session[:remember_token])
      flash[:notice] = "Please Log in"
      redirect_to :controller => 'sessions', :action => 'new'
    end
  end

Aus irgendeinem Grund erhalte ich keinen Zugang zu sessions/new die meine Anmeldeseite ist. Für jede Hilfe wäre ich Ihnen sehr dankbar. Ich habe die Routen überprüft und erhalte sessions/new .

10voto

Gazler Punkte 81143

Als gut ausgebildete Vermutung würde ich sagen, dass Sie dies haben:

before_filter :authorize

Diese wird immer wieder auf sich selbst umgeleitet.

Sie können dies entweder beheben, indem Sie nur die von Ihnen gewünschten Daten übergeben:

before_filter :authorize, :only => [:action_a, :action_b]

Oder geben Sie diejenigen an, die Sie nicht wollen (wahrscheinlich besser, wenn Sie nur Ihre Sitzungen#neue Aktion beenden wollen)

before_filter :authorize, :except => [:new, :create]

Wenn Ihr before_filter auf einem geerbten Controller angegeben ist (z. B. Ihr SessionsController erbt den before_filter von ApplicationController), können Sie skip_before_filter verwenden

skip_before_filter :authorize, :only => [:new, :create]

1voto

Giridhar Bandi Punkte 1303

Ich hatte ein ähnliches Problem, und der Hauptgrund, warum dies geschieht, ist, wenn wir auf sich selbst umleiten. stellen Sie sicher, dass Sie nicht die Anwendung der before_action / before_filter zu Session#new

before_filter :authorize, :except => [:new, :create]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X