Estou tentando colocar meu aplicativo em produção e os caminhos de recursos de imagem e css não estão funcionando.
Aqui está o que estou fazendo atualmente:
- Ativos de imagem em /app/assets/images/image.jpg
- As folhas de estilo estão em /app/assets/stylesheets/style.css
- Em meu layout, faço referência ao arquivo css desta forma:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- Antes de reiniciar o unicórnio, eu corro
RAILS_ENV=production bundle exec rake assets:precompile
e ele consegue e vejo os arquivos de impressão digital nopublic/assets
diretório.
Quando eu navego em meu site, recebo um erro 404 não encontrado para mysite.com/stylesheets/styles.css
.
O que estou fazendo de errado?
Atualização: no meu layout, é assim:
<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
A fonte de geração é esta:
<link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/stylesheets/styles.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-0c647c942c6eff10ad92f1f2b0c64efe.js"></script>
Parece que o Rails não está procurando apropriadamente pelos arquivos css compilados. Mas é muito confuso porque está funcionando corretamente para javascripts (observe o /assets/****.js
caminho).
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assets
e 2. verifique se não há outra instrução em algum lugar tentando carregar aquele arquivo css (presumivelmente codificado)
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }
pode realmente ser substituído na roda dentada por .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }
. Talvez você possa tentar se isso ajudar.
stylesheet_link_tag
.