У меня есть приложение Rails 4.2.0, которое работает уже несколько месяцев.Rails 4.2.0 приложение: удалить ссылку javascript перестали работать
Приложение имеет теги link_to в разных местах, используя «delete» в качестве метода и с подсказкой подтверждения. Они работали корректно, при этом появляется предупреждение о подтверждении перед удалением и запрос, направляемый на действие destroy в контроллере, как ожидалось.
Сегодня один из пользователей приложения спросил меня, почему ссылки удаления не работают. Предупреждение о подтверждении не отображается, и полученный запрос представляет собой простое GET, которое направляется на действие show вместо уничтожения. Хотя мои пользователи не удаляют очень часто, я уверен, что они работали изначально.
Ссылки на удаление больше не работают ни в среде разработки, ни в режиме реального времени. В консоли браузера нет ошибок javascript при загрузке страницы, содержащей ссылки, или при нажатии ссылки удаления. В Chrome, Firefox и Safari поведение одинаково.
Таинственная часть заключается в том, что я делаю в основном изменения кода и базы данных в течение нескольких месяцев; Я не могу вспомнить последний раз, когда я добавил камень или установил или обновил пакет. Очевидно, что-то должно было измениться, чтобы сломать javascript, но я не могу думать, что это может быть.
До сих пор я удалил рельсы jQuery и связал их с Google API. Я удалил Turbolinks. Я обновил jquery-rails gem от версии 4.0.3 до 4.2.1. Не повезло.
В случае, если кто может предложить что-то, чтобы проверить или посмотреть, вот некоторые выдержки из моей конфигурации и коды (после возвращения вышеуказанных неудачных попыток):
Gemfile.lock:
jquery-rails (4.0.3)
jquery-turbolinks (2.1.0)
jquery-ui-rails (5.0.3)
приложений .js:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require turbolinks
//= require jquery-ui/datepicker
//= require jquery-ui/autocomplete
//= require_tree .
приложение/просмотров/макеты/application.html.erb, внутри тега:
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
Удалять теги ссылка выглядит следующим образом:
<%= link_to 'Delete', item_order_path(@item, order), method: :delete, data: { confirm: 'Are you sure?' }, class: :button %>
В оказанной HTML они выглядят так:
<a data-confirm="Are you sure?" class="button" rel="nofollow" data-method="delete" href="/items/1/orders/1">Delete</a>
Любые идеи, что может быть происходит?
На какой ОС вы работаете? Если это окна, попробуйте gem «coffee-script-source», «1.8.0» –
Я запускаю приложение либо в Mac OS X 10.11 (разработка с использованием сервера WEBrick), либо CentOS 7 (создание, использование Apache и Passenger Phusion). – EK0