2010-12-14 10 views
1

Ich muss etwas Dummes tun. Irgendwelche Ideen, warum das nicht funktionieren würde. Ich werde aufgefordert, zu authentifizieren, wenn eine Anforderung an den Controller mit der unter Config machen:before_filter: außer scheint nicht zu funktionieren

class ApplicationController < ActionController::Base 

before_filter :auth, :except => [:aboutus] 

Die Auth Methode ist genau dies. Es funktioniert gut, sondern gilt für alle Steuerungen einschließlich aboutus

#Simple HTTP Auth during development 
    def auth 
    authenticate_or_request_with_http_basic do |username, password| 
     username == "REDACTED" && password == "REDACTED" 
    end 
    end 

Dank

+0

Ist 'aboutus' ein Controller oder eine Aktion? – Zabba

+0

Entschuldigung, ich hätte klarstellen sollen, dass aboutus ein anderer Controller war, keine Aktion im App Controller. Roadmaster entdeckte, womit ich durcheinander war. – Nick

Antwort

3

Diese Konfiguration auf die „aboutus“ -Aktion von Application gelten würde. Haben Sie versucht, die "before_filter" -Definition in den Controller zu setzen, der tatsächlich die "aboutus" -Methode/Aktion hat?

Sie können dies in Application setzen:

before_filter :auth 

dann in der Steuerung der aboutus Verfahren enthält:

skip_before_filter :auth, :only => :aboutus 

diese Weise können Sie sieht nett aus nicht-Code und alles wiederholen.

+0

Funktioniert wie ein Charme. Ich habe vergessen, dass ein Controller Upstream-Filter erzwingen könnte, um übersprungen zu werden. Wirklich zu schätzen die Kombination von Aufzeigen, was falsch war und bietet auch eine Lösung. Vielen Dank – Nick

Verwandte Themen