Pegar metodo de controller
|
|
Boa noite pessoal, Estava tentando achar, mas não consegui. Como faço para pegar todos os métodos do controller que eu defini. Exemplo: index, create, publisher Como eu faria isso? Obrigado. |
|
|
Só por curiosidade, pra que vc quer isso? |
|
|
Bom dia Fernandão, Eu preciso porque estou fazendo um controle de permissão por action da minha aplicação. Neste caso quero que fique dinâmico a alimentação do meu model actions. É para isso. |
|
|
before_filters no seu controller não basta ?! Cada nova action que vc criar, vc adiciona ela lá. \^/ |
|
|
Não conheço nenhum método que retorne as actions de um controller… posta uma parte do que vc já fez, talvez dê uma idéia de como fazer. |
|
|
Ronaldo talvez um before_filter seria uma boa, mas queria fazer isso somente quando subo a aplicação. Eu estava tentando algo assim, mas sou péssimo em Expressão Regular. Ficara assim olha só: Dir.open(“app/controllers”).each{|c| (File.open(“app/controllers/#{c}”).readlines.map{|line| line.match(/ ^[a-z-A-Z].* /)}.compact) unless c == ‘.’ || c == “..”} Tanks a todos… |
|
|
Uma forma: Mas vc vai precisar filtrar métodos privados. Ainda não entendi pra como vc vai usar isso… |
|
|
Um instance_methods não resolve esse caso? Tu teria que remover todos os métodos dos ancestrais para manter apenas o do Controller em questão mas acho que resolveria. |
|
|
Acho que public_methods(false) resolve =). |
|
|
Duh! Verdade, tinha esquecido desse. =) |
|
|
Non seria? |
|
|
Boa tarde Fernando e nofxx, As duas soluções funcionaram. Obrigado a todos… |
|
|
Que forma curiosa de fazer as coisas….. hehehehehe Um plugin tipo o CanCan não resolve? To testando implementar ele no meu projeto e ta bem interessante porque ele cobre associações de forma inteligente… |

