2010-04-19 20 views
12

Desidero scrivere un before_filter nel mio controller per identificare l'azione che verrà eseguita successivamente. Questo è per scopi di autorizzazione (questo è un po 'come il plugin role_requirement fare ..)Rails before_filter e identificazione azione

Es: se un utente digita questo url http://localhost:3000/users, l'impostazione predefinita passa all'azione utente/indice. E nel mio controller degli utenti ho un metodo di filtro precedente che dice 'check_permission' e voglio che quel metodo ottenga 'index' come azione.

risposta

15

Il metodo action_name sul controller dovrebbe darvi quello che state cercando. Non è documentato, quindi, non c'è alcuna garanzia che non scomparirà un giorno.

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

grazie Steve, sguardi arcigni promettenti Vado a controllare fuori applausi, Sameera – sameera207

+0

Il metodo è ancora disponibile in Rails 3.2, ma ancora non documentati. – Kelvin

Problemi correlati