Rails 3 Wege zu skip_before_filter, nur

8

In Rails 2.8 können wir skip_before_filter wie folgt schreiben

%Vor%

Das heißt, ich wollte den Filter require_login nur auf diese Aktionen [:create,:new,:accept] anwenden und den Filter für andere überspringen.

Aber es scheint so, veraltet in den Schienen 3. Und Es wird ein neuer skip_filter hinzugefügt. Ich habe das versucht

%Vor%

aber es funktioniert nicht, also wie kann ich das in Schienen 3 tun.

    
RameshVel 23.07.2011, 13:06
quelle

2 Antworten

11
  • skip_before_filter wurde nicht veraltet, siehe Quelle .

  • Sie verwenden es wie erwartet.

Wie haben Sie also herausgefunden, dass es nicht richtig funktioniert?

    
apneadiving 23.07.2011, 13:18
quelle
14

Das ist eine falsche Verwendung von skip_before_filter .

Um den Filter require_login ausschließlich auf die Aktionen [:create,:new,:accept] anzuwenden und den Filter für andere zu überspringen, müssen Sie zuerst den Filter anwenden:

%Vor%

Dann müssen Sie rails anweisen, diesen Filter außer für Aktionen "create, new and accept" zu überspringen.

%Vor%

Sie können auch skip_filter verwenden, wodurch Sie before_filter , after_filter und around_filter filters:

einbeziehen können %Vor%

Referenz: Rails 3.2-Handbuch

In Rails 4.0 lauten die entsprechenden Methoden: before_action und: skip_before_action.

Referenz: Rails 4.0-Handbuch

    
Douglas 07.09.2013 12:28
quelle