0 Compartilhamentos 16 Views 1 Comments

Url’s amigáveis em Ruby on Rails com a gem Friendly_id

19 de novembro de 2012

Nos últimos dias venho me aventurando pelo Framework Rails e tenho gostado muito principalmente pela maturidade do Framework e pela praticidade da linguagem Ruby, bem mas isso é assunto para outro post.

No decorrer do desenvolvimento de um site, senti a necessidade de gerar algumas URL’s amigáveis, por padrão o Rails gera URL’s nesse modelo: http://meusite/posts/1, ou seja, identificando um registro pelo seu Id na URL, vamos concordar que isso não é nem um pouco interessante nem para o usuário final e nem para os motores de busca, eu precisava de um resultado parecido com esse: http://meusite/um-exemplo-de-post, foi ai então que resolvi buscar um solução para isso.

Logo nos primeiros resultados percebi que muitos desenvolvedores tomam o caminho mais fácil para lidar com URL’s amigáveis, eles usam o Id do registro seguido por um hífen e alguma sequencia de caracteres após o hífen geralmente algo como o titulo no caso de uma noticia ou post de blog, obtendo um resultado parecido com esse: http://meusite/posts/1322-um-exemplo-de-post.

Essa forma geralmente é utilizada com o método do Ruby to_i que basicamente converte uma string para um inteiro removendo quaisquer caracteres não numéricos. No controller teríamos algo assim:

#http://meusite/posts/1322-um-exemplo-de-post

É uma solução pratica mas na minha opinião a url ainda não está tão amigável assim, veja que ainda existe o Id do post no inicio da url o que a torna difícil de memorizar, e deixa a url com um numero inútil para os motores de busca. Para resolver isso encontrei a gem friendly_id que faz esse trabalho de forma simples:

Em seu gemfile coloque o seguinte código:

Então execute os seguintes comandos:

Feito isso teremos a gem friendly_id instalada em nosso projeto, o próximo passo é adicionar o seguinte código ao model no qual você quer utilizar url’s amigáveis:

E pronto! Agora é só rodar seu projeto e ver mágica. O friendly_id tem mais algumas configurações que podem ser encontradas na sua documentação no github.

Você pode se interessar

Duelo de robôs gigantes tem data marcada
Notícias
9 visualizações
Notícias
9 visualizações

Duelo de robôs gigantes tem data marcada

Carlos L. A. da Silva - 11 de outubro de 2017

Batalha entre titãs norte-americano e japonês será transmitida pelo Twitch ao vivo na semana que vem!

PornHub vai utilizar aprendizado de máquina para catalogar vídeos
Notícias
13 visualizações
Notícias
13 visualizações

PornHub vai utilizar aprendizado de máquina para catalogar vídeos

Carlos L. A. da Silva - 11 de outubro de 2017

Algoritmo é capaz de identificar atrizes e atores, assim como posições sexuais com precisão!

Rússia teria usado mesmo produtos da Kaspersky para espionagem
Notícias
15 visualizações
Notícias
15 visualizações

Rússia teria usado mesmo produtos da Kaspersky para espionagem

Carlos L. A. da Silva - 11 de outubro de 2017

Especialistas de segurança de Israel apresentaram provas para o governo norte-americano de que russos exploravam vulnerabilidades da Kaspersky.

One Response

Deixe um Comentário

Your email address will not be published.

Mais publicações

20 Tecnologias pra ficar de olho agora
Artigos
20 visualizações
20 visualizações

20 Tecnologias pra ficar de olho agora

Carlos L. A. da Silva - 11 de outubro de 2017
Facebook e Instagram passam por problemas técnicos
Notícias
10 visualizações
10 visualizações

Facebook e Instagram passam por problemas técnicos

Carlos L. A. da Silva - 11 de outubro de 2017
LeBron James encara o desafio dos carros autônomos
Notícias
21 visualizações
21 visualizações

LeBron James encara o desafio dos carros autônomos

Carlos L. A. da Silva - 11 de outubro de 2017
Dia das Crianças: Cortana aprendeu a brincar
Notícias
23 visualizações
23 visualizações

Dia das Crianças: Cortana aprendeu a brincar

Carlos L. A. da Silva - 11 de outubro de 2017