Pergunta

O que você acha que é a melhor maneira de criar URLs amigáveis ??SEO (dinamicamente) no Rails?

Foi útil?

Solução

Substitua o método to_param em suas classes de modelo para que o ID numérico padrão é substituído por um texto com sentido. Por exemplo, esta questão muito usos best-permalinking-for-rails na URL.

Ryan Bates tem um Railscast sobre este tema .

Outras dicas

ActiveSupport tem um novo método no Rails para ajudar este - String # parameterize. cometer o relevante é aqui ; o exemplo dado na mensagem de confirmação é "Donald E. Knuth" .parameterize => "donald-e-knuth"

Em combinação com a substituição to_param mencionado por John Topley, isso faz com que URLs amigáveis ??muito mais fácil.

de rsl stringex é bastante impressionante, pense nisso como permalink_fu feito para a direita .

Eu largamente usar to_param como sugerido por John Topley.

Lembre-se de colocar índices de tal forma que o que você está usando em to_param é rapidamente pesquisável, ou você vai acabar com uma varredura completa da tabela em cada acesso. ( não uma performance-potenciador!)

Uma forma de contornar rápida é colocar a algum lugar ID lá, caso em que ActiveRecord irá ignorar o resto como cruft e basta pesquisar na id. É por isso que você vê um monte de sites Rails com URLs como http: // exemplo .com / someController / 123-a-meio legível pelo título .

Para mais detalhes sobre esta e outras observações de SEO da minha experiência com Rails, você pode encontrar desta página no meu site útil.

Para mim friendly_id funciona bem, ele pode gerar lesmas também, então você não precisa se importa sobre URLs duplicados, também são suportados âmbitos.

Confira o permalink_fu plug-in (extraído de Mephisto) ... o repositório Git é localizada aqui .

Eu fiz uma pequena e simples gem que torna mais fácil para substituir o método to_param. Ela pode ser encontrada aqui .

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