Adicionar Arquivos a Serem Compilados no Asset Pipeline

Hoje estou aqui para dar uma dica rápida sobre Asset Pipeline do Ruby on Rails 3.1+ que pode ser útil.

Acabei agora de pouco de fazer o deploy da minha primeira aplicação Rails na OpenShift (que recomendo) e enquanto estava nesse processo uma das coisas que aprendi, é que por padrão, quando executamos o comando rake assets:precompile, só são compilados os arquivos application.js e application.css.

Minha aplicação possui dois layouts, o application que é o padrão usado no site e o admin que é usado apenas na área administrativa, dentro deles tenho respectivamente as seguintes chamadas:

<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag "admin", :media => "all" %>
<%= javascript_include_tag "admin" %>

No arquivo application (duas primeiras linhas) tenho a chamada para os assets do site e no admin (duas últimas) chamo os assets da área restrita.

Para fazer deploy, compilei usando o comando rake assets:precompile como deve ser feito. Porém, ao acessar uma url administrativa do site recebi um erro, fui olhar no log e constatei que os arquivos admin não estavam sendo compilados, mas minha aplicação esperava eles.

Pesquisando na internet e lendo a documentação oficial do Rails vi que precisaria especificar quais arquivos mais gostaria de compilar além do padrão e cheguei a resposta, basta adicionar a linha abaixo no application.rb:

config.assets.precompile += ['admin.js', 'admin.css']

Simples assim.

Abraços!

Written on December 18, 2012

Share: