CSS específico para cada página com RubyOnRails

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 ou criando um id específico para cada página.

Com Rails eu faço da seguinte forma:

<body id="page_<%= controller.controller_name %>" class="page_<%= controller.controller_name %>_<%= controller.action_name %>">

E no CSS:

#page_posts {}
#page_posts.page_posts_index {}
#page_posts.page_posts_show {}

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 pode valer a pena ter um arquivo CSS só para isso.