Felipe Diesel

Desenvolvedor de software

Foto de Felipe Diesel
Posts tagged rubyonrails

CSS específico para cada página com RubyOnRails

March 26, 2010 -

Muitas vezes queremos adicionar um CSS específico para uma página. Você poderia fazer isso adicionando uma folha de estilo específica daquela página (em inglês) ou criando um id específico para cada página.

Com Rails eu faço da seguinte forma:

E no CSS:

O “page_” na frente serve justamente para não misturar o id do body com o id da table ou div na hora de listar os registros.

Prefiro utilizar este modo, pois não é necessário fazer um novo download apenas para alguns estilos para a página específica e todo o CSS já fica cacheado a cada requisição, logo se torna mais eficiente. Porém se uma página for muito diferente das outras e tiver muito CSS o método citado pelo Shaun pode ser mais útil.

Dica: Listando as rotas no console

September 21, 2008 -

O Carlos Brando publicou hoje um artigo sobre como testar rotas no console. Achei legal e decidi compartilhar um código que uso freqüentemente, mas que serve para listar todas as rotas nomeadas existentes. Faça o seguinte no terminal:


$ ./script/console
>> app.methods.grep /_path$/

Este comando, pega todos os métodos da aplicação e filtra utilizando uma expressão regular.

Para melhorar a visualização, você pode adicionar o “y” na frente, para que ele converta o array de retorno em yaml:


>> y app.methods.grep /_path$/

E para ficar ainda melhor, adicione o “sort”, para ficar em ordem alfabética:


>> y app.methods.sort.grep /_path$/

O problema é que existem muitas rotas, numa aplicação bem pequena que tenho aqui chega a 500. Para contornar isso você pode utilizar o poder das expressões regulares. O código abaixo, lista apenas as que começam com ‘s’:


>> y app.methods.sort.grep /^s.*_path$/

Se você não conhece Expressões Regulares, dê uma lida na Web, tem muito material. Caso prefira livros, dê uma conferida no “livro do piazinho”, do Aurélio.