Pergunta

Qual é a melhor maneira de fazer arrastando barras não importa na versão mais recente de rotas (1.10)? Eu atualmente estou usando o não-DRY claramente:

map.connect('/logs/', controller='logs', action='logs')
map.connect('/logs', controller='logs', action='logs')

Eu acho que transformar minimização on faria o truque, mas estou sob a impressão de que ele foi desativado nas versões mais recentes do Routes por uma razão. Infelizmente documentação não parecem ter pego com o desenvolvimento rotas, então eu não posso encontrar qualquer bons recursos para ir. Alguma idéia?

Solução

Há duas maneiras possíveis para resolver esta:

  1. Fazê-lo inteiramente em postes .
  2. Adicionar uma regra htaccess para reescrever a barra no final .

Pessoalmente, eu não gosto da barra no final, porque se você tem um URI como:

http://example.com/people

Você deve ser capaz de obter os mesmos dados em formato XML, indo para:

http://example.com/people.xml

Outras dicas

O seguinte trecho adicionado como a última rota funcionou para mim:

map.redirect('/*(url)/', '/{url}',
             _redirect_code='301 Moved Permanently')

http://www.siafoo.net/snippet/275 tem uma peça básica de middleware que remove uma barra final a partir dos pedidos. Inteligente idéia, e eu entendi o conceito de middleware em aplicações WSGI muito melhor depois que eu percebi o que isto faz.

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