2010-04-19 9 views
12

Ich möchte ein before_filter in meinem Controller schreiben, um die Aktion zu identifizieren, die als nächstes ausgeführt wird. Dies ist für Autorisierungszwecke (das ist ein bisschen wie RoleRequirement Plugin ..)Rails before_filter und action identification

Beispiel: wenn ein Benutzer diese URL http://localhost:3000/users eingibt, geht es standardmäßig Benutzer/Index Aktion. Und in meinem Benutzer-Controller habe ich eine vor-Filter-Methode sagen "check_permission" und ich möchte diese Methode zu bekommen "Index" als Aktion.

Antwort

15

Die action_name Methode auf dem Controller sollte Ihnen geben, was Sie suchen. Es ist jedoch nicht dokumentiert, also gibt es keine Garantie, dass es eines Tages nicht verschwinden wird.

before_filter { |controller| logger.debug "Running before the #{controller.action_name} action" } 
+0

Dank Steve, mürrische sieht vielversprechend Ich werde es prost Check-out, sameera – sameera207

+0

Verfahren noch in Schienen vorhanden ist 3.2, aber noch nicht erfasst. – Kelvin