Pipeline de ativos do Rails 3.1 com suburis
-
27-10-2019 - |
Pergunta
Estou tentando converter um aplicativo Rails 3.1 para usar o recurso de pipeline.Atualmente usando Rails 3.2.0.rc2.Estou definindo ENV['RAILS_RELATIVE_URL_ROOT']
para o suburi em application.rb.Os helpers funcionam bem, gerando o caminho correto (incluindo o suburi) para o arquivo, no entanto, as rotas do Rails não estão servindo os arquivos fora desse caminho.
Por exemplo, <%= stylesheet_link_tag 'screen', :media => 'screen' %>
gera corretamente o código <link href="/my-suburi/assets/screen.css" media="screen" rel="stylesheet" type="text/css" />
, no entanto, Rails não fornecerá nada fora desse endereço.
Se eu apontar manualmente meu navegador para http://localhost:3000/my-suburi/assets/screen.css
, obtenho um ActionController :: RoutingError.No entanto, se eu apontar para http://localhost:3000/assets/screen.css
, recebo o arquivo.Todo o resto funciona bem com o suburis.
Alguém tem alguma ideia do que estou perdendo?Obrigado.
Solução
Descobri sozinho.Em application.rb
, adicionei ...
config.assets.prefix = "/my-suburi"
e reiniciou o servidor.Isso mudou o caminho no cabeçalho para "/my-suburi/screen.css"
(observe a falta de 'ativos'), mas eu confirmei que ele está puxando corretamente da pasta / app / assets / stylesheets, agora.