Talvez você não conheça mas no Rails é possível desligar o uso de sessões assim:
end
Veja que no exemplo acima estou desligando a sessão para todos os controllers (ApplicationController), mas eu também poderia fazer isto para apenas um controller específico.
Mas e se eu quiser que um controller “ligue” o uso de sessões para ele? No Rails 2.1 o método aceitará a opção :on, assim:
end
3 Comentários em "Edge Rails: session(:on)"
Até que enfiem eles resolveram este problema de forma decente!
Atualmente, para voltar a ativar a sessão em um único controlador, você tem que usar session :disabled => false. Extremamente deselegante. E o pior é que há um bug! Se depois de reativar a sessão você checar se ela está ativada, usando o método session_enabled?, descobrirá que o resultado é incorreto. Eu havia enviado um patch sobre isso há algum tempo:
http://dev.rubyonrails.org/ticket/10988
Naturalmente, nunca chegou sequer a ser olhado pelos caras.
Abraços, Vinícius.
Vinúncius, quando enviar um patch, você pode blogar sobre e pedir ajuda dos brasileiros para aprovar. Acho que com pelo menos três +1 no patch, eles já dão uma olhada.
É verdade. Da próxima vez vou fazer isso.
Deixe o seu comentário!