Überspringe before_filter in Rails

Namen und Objekte wurden der Übersichtlichkeit halber vereinfacht. Das Grundkonzept bleibt gleich.

Ich habe drei Controller:dog, cat, undhorse. Diese Controller erben alle von dem Controlleranimal. In der SteuerunganimalIch habe einen Vorfilter, der einen Benutzer als solchen authentifiziert:

before_filter :authenticate

def authenticate
  authenticate_or_request_with_http_basic do |name, password|
    name == "foo" && password == "bar"
  end
end

In demshow Wirkung vondogIch muss für alle Benutzer einen offenen Zugang haben (Authentifizierung überspringen).

Wenn ich die Authentifizierung separat für schreiben würdedogIch könnte so etwas machen:

before_filter :authenticate, :except => :show

Aber seitdog erbt vonanimalIch habe keinen Zugriff auf die steuerungsspezifischen Aktionen. Hinzufügen:except => :show in demanimal Der Controller überspringt nicht nur die Authentifizierung für dieshow Wirkung vondog, aber auch das voncat undhorse. Dieses Verhalten ist nicht erwünscht.

Wie kann ich die Authentifizierung nur für das überspringen?show Wirkung vondog während noch erben vonanimal?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage