Pergunta

Eu li um artigo aqui e eu usei os princípios encontrados lá para escrever uma verificação de administração para meus controladores. Basicamente, ele verifica para ver o controlador que você está dentro e então eu criar uma matriz dizer se essa pessoa como permissão para ver que o controlador, que achado, transmiti-lo.

O autor do artigo, disse que os leitores não devem usar o código de exemplo como foi falho e que eles devem usar o seu plug-in (que, naturalmente, está desatualizado agora). E ele disse:

"há alguns problemas com o código acima, quando executado no modo de produção, devido ao uso de variáveis ??de classe e caching classe."

Eu tenho um teste falhando e eu acho que pode ser devido a isso, mas eu não tenho certeza que parte do código que eu não deveria estar usando. Eu tinha o seguinte (em application.rb):

 controller = params[:controller]
 action = params[:action]

Mas eu mudei isso para:

controller = self.class.name
action = params[:action]

Como faço para acessar o nome da ação corretamente? E em geral que tipos de coisas que você pode fazer em modo de desenvolvimento que você não pode fazer em produção?

Foi útil?

Solução

Have you considered a role based permissions plugin instead? See the following stackoverflow question:

Which Rails plug in is best for role based permissions? (Please provide one nomination per answer)

I'm unaware of any issues with production usage of the code you have pasted in. The plugin in question might have some issues due to a possible misuse of @@ however, I've not inspected it thoroughly.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top