Я пытаюсь поместить свое приложение в производство, а пути образа и css не работают.
Вот что я сейчас делаю:
- Объекты изображения живут в /app/assets/images/image.jpg
- Таблицы стилей живут в /app/assets/stylesheets/style.css
- В моем макете я ссылаюсь на файл css следующим образом:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- Перед перезапуском единорога я запускаю
RAILS_ENV=production bundle exec rake assets:precompile
, и он преуспевает, и я вижу отпечатки пальцев в каталогеpublic/assets
.
Когда я перейду на мой сайт, я получаю 404 не найденную ошибку для mysite.com/stylesheets/styles.css
.
Что я делаю неправильно?
Update: В моем макете это выглядит так:
<%= 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 %>
Источником генерации является следующее:
<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>
Похоже, Rails неправильно ищет скомпилированные файлы css. Но это очень запутывает, почему он корректно работает для javascripts (обратите внимание на путь /assets/****.js
).