jquerymobile ломает применение рельсов - PullRequest
0 голосов
/ 28 июня 2018

Я хотел бы создать мобильную версию своего приложения rails 5.0.0.1 с помощью jquery mobile.
Для начала я нашел полезную инструкцию, написанную Скоттом У. Брэдли на веб-странице и в эпизоде ​​ * *. Однако, когда я вставляю jquery mobile js-файл в app/assets/javascripts и jquery mobile css-файл в app/assets/stylesheets, мое приложение ломается: правила css не соблюдаются, перенаправляет сбои, javascripts не работает, цвета размыты, кнопки не работают .

Поэтому я подумал добавить мобильные файлы jquery в отдельную папку /app/assets/jquerymobile и отредактировал /app/views_mobile/layouts/application.html.erb, добавив в голову следующие строки кода:

<%= stylesheet_link_tag '/app/assets/jquerymobile/jquerymobile.css' %>
<%= javascript_include_tag '/app/assets/jquerymobile/jquerymobile.js' %>

Однако файлы не загружены, мобильный телефон ведет себя так, как будто файлы jquerymobile.css и jquerymobile.js не существуют. Моя цель состоит в том, чтобы отделить jquery mobile от версии для ПК и загружать файлы в случае запроса с мобильного телефона. Однако я хотел бы знать, что ломает приложение, поскольку мобильная версия с полным конвейером активов унаследует проблему.

1 Ответ

0 голосов
/ 29 июня 2018

Чтобы исключить файлы css и js из конвейера ресурсов, необходимо добавить следующие записи в самом конце в application.css и application.js:

*= stub jquerymobile
//= stub jquerymobile

Затем необходимо добавить следующие строки кода в /config/initializers/assets.rb:

Rails.application.config.assets.precompile += %w( jquerymobile.css )
Rails.application.config.assets.precompile += %w( jquerymobile.js )

На этом этапе можно включить вышеуказанные файлы css и js, используя stylesheet_link_tag и javascript_include_tag, в заголовок файла /app/views_mobile/layouts/application.html.erb следующим образом:

<%= stylesheet_link_tag 'jquerymobile.css' %>
<%= javascript_include_tag 'jquerymobile.js' %>

См. Также Суть .

...