Pergunta

Estou atualizando meu site para um aplicativo Meteor com roteador de ferro e preciso alterar meus URLs.O esquema antigo tinha nomes de páginas em letras maiúsculas como este:

mysite.com/Contact

mas mudei tudo para letras minúsculas:

mysite.com/contact

Essa rota de contato não é complicada, então está configurada assim:

this.route('contact');

mas eu quero o /Contact url a ser redirecionado.Eu sei que poderia fazer isso:

this.route('Contact', {
    onBeforeAction: function() {
        Router.go('contact');
    }
});

mas é muito mais confuso.Eu preferiria fazer algo assim:

this.route('contact', {
    path: ['/contact', '/Contact']
});

onde a rota é simplesmente mapeada para vários caminhos.

Existe um recurso como este?Ou é meu onBeforeAction o melhor que vou conseguir?

Foi útil?

Solução

https://github.com/EventedMind/iron-router/blob/devel/DOCS.md#dynamic-path-segments

Você pode usar uma Expressão Regular para seu segmento de caminho (veja o último exemplo no link Segmentos de Caminho Dinâmico).

Seu caminho seria:

this.route('contact', {
    path: /contact/i
});

Onde o 'i' após a barra é o modificador de expressão regular que não diferencia maiúsculas de minúsculas, permitindo que você aceite qualquer variação de 'contato' (seja cOntact, Contact ou conTACT).

Ver http://www.w3schools.com/jsref/jsref_regexp_i.asp para obter detalhes sobre o modificador RegEx.

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