Rails: активы не работают на Heroku - PullRequest
0 голосов
/ 10 мая 2018

ресурсы не работают на Heroku (js / jQuery / image)

Я новичок в ruby, и у меня возникла небольшая проблема. Я создал целевую страницу, которая отлично работает на локальных (изображения отображаются, анимация на JS также работает).

Но на Heroku изображения все еще здесь, но анимация не работает.

Есть что-то странное, даже если оно работает, когда я проверяю консоль, у меня много ошибок:

Failed to load resource: the server responded with a status of 404 (Not Found)
font-awesome.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
application-18ac3fd2669832ec776c17e2e795d1fa260c46da2ba1ea9854a54227ada3a7cd.js:6 Uncaught TypeError: Cannot read property 'breakpoints' of undefined
    at application-18ac3fd2669832ec776c17e2e795d1fa260c46da2ba1ea9854a54227ada3a7cd.js:6
    at application-18ac3fd2669832ec776c17e2e795d1fa260c46da2ba1ea9854a54227ada3a7cd.js:6
jquery.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pages.scss:1 Failed to load resource: the server responded with a status of 404 (Not Found)
jquery.scrollex.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
banner.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pic02.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pic01.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
jquery.scrolly.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
skel.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
util.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
main.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pic03.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
font-awesome.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
pages.scss:1 Failed to load resource: the server responded with a status of 404 (Not Found)

У меня есть страница index.html.erb, которая вызывает скрипты:

<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>

Мои скрипты находятся в папке app/assets/javascripts/js.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Неправильно использовать это так:

<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>

Проверьте это: The Asset Pipeline.

Вы должны поместить все файлы js в app/assets/javascripts без jquery.min.js, потому что эта библиотека по умолчанию включает рельсы.

Я считаю, что javascripts/application.js должно быть таким (по умолчанию):

//= require jquery
//= require jquery_ujs
//... example 
//= require_tree .

this //= require_tree . автоматическисопоставляет папку javascripts для всех файлов js.

Удалите эту строку //= require rails-ujs после редактирования, как описано выше.

И app/views/layouts/application.html.erb должно быть таким:

<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

Обновление

Вы должны поместить pages.scss в assets/stylesheets/ исоздайте файл внутри assets/stylesheets/ как custom.scss затем custom.scss как этот

@import "pages";
0 голосов
/ 10 мая 2018

Вам не нужно включать скрипты в index.html.erb .

В вашем app / views / layouts / application.erb должна быть следующая строка.

<%= javascript_include_tag "application.js", "data-turbolinks-track" => 'reload' %>

В вашем app / assets / javascripts / application.js вы увидите строку //= require_tree .

В вашем приложении / assets / javascripts создайте любой файл .js и напишите свой код. Он будет работать во всех представлениях, не включая нигде.

Если ваша анимация не работает, попробуйте переместить следующую строку из <head>

<%= javascript_include_tag "application.js", "data-turbolinks-track" => true %>

выше закрывающего тега тела. т.е. </body>

...