Я намагаюся вкласти своє додаток у виробництво, а зображення та шляхи активів 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.
Що я роблю неправильно?
Оновлення: У моєму макеті це виглядає приблизно так:
<%= 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шлях).
<%= stylesheet_link_tag "style", media: "all", "data-turbolinks-track" => true %>
public/assetsта 2. подвійну перевірку, якщо десь не існує іншої інструкції, яка намагається завантажити цей файл css (імовірно, жорстко закодований)
.home {background: #FFF url(<%= image_path 'hippopotamus.jpg' %>) no-repeat; }насправді можна замінити на зірочку на .home {background: #FFF url(image-path('hippopotamus.jpg')) no-repeat; }. Можливо, ви можете спробувати, якщо це допоможе.
stylesheet_link_tag.