2016-02-16 1 views
0

У меня есть приложение Rails 4. Когда я запускаю его в режиме разработки, все работает нормально, но когда я запускаю его в режиме «Производство», активы отсутствуют с ошибкой из темы.Рельсы: активы отсутствуют в производстве (Нет совпадений маршрута [GET] "/assets/application-12345.css")

Пример, как я использую активы:

<%= javascript_include_tag :application %> 
<%= stylesheet_link_tag :application, media: 'all' %> 

В чем проблема? спасибо за ваше время и помощь.

Сообщения об ошибках, как:

GET http://127.0.0.1:3000/assets/application-562bac274264d04046337005941c14dc9909665bcdecf8739957ad529b009127.js 404 (Not Found) 

Моего application.js и .css файлы (скомпилированные версии) в

myproject\public\assets 

И application.js и .css файлы (исходные штуки) in

myproject\app\assets\javascrips and myproject\app\assets\stylesheets 

Я запускаю приложение на Windows, если это важно.

+0

Если вы обнаружили ошибку '404', вы должны запустить' rake assets: precompile RAILS_ENV = production' * до *, который вы нажимаете на ваш производственный сервер. –

ответ

1

Вопрос заключается в том, что в производстве находятся активы precompiled & fingerprinted, поэтому их прямое обращение не будет работать. Вы должны назвать Имя файлатолько:

<%= stylesheet_link_tag :application, media: 'all' %> 
<%= javascript_include_tag :application %> 

Вы также должны убедиться, что вы держите в соответствующих каталогах вашей stylesheets/javascripts. Почему вы положили application.css в /javascripts вне меня.


Причина вышеуказанных работ, потому что они используют asset_path помощник, который позволяет Rails вывести соответствующий файл из множества относительных путей. Скорее, как в операционных системах PATH var, это означает, что вы можете назвать активы, которые, возможно, были отпечатаны в процессе производства.

+0

хорошо, я пробовал этот совет, и он все равно не работает. Благодарю. Они находятся в правильных каталогах, эти пути каталогов остаются, когда я все пробовал, извините, забыл их удалить – AndreyS

+0

Итак, я просто потратил 10 минут своей жизни на запись? Нет отзывов? Ничего о вашей файловой структуре? Приходите к чуваку, играйте в игру. –

+0

Спасибо за обновление и дополнительный контекст - так что вы получаете ошибку '404'. Это нормально; это только в производстве, или проблема возникает в «разработке»? –

Смежные вопросы