Удалить ссылки перестали работать data-method='delete', но переходит на страницу показа
Я только что заметил, что все различные ссылки для удаления в моем приложении теперь просто показывают страницы. Это приложение началось как рельсы 2.3.8, теперь это рельсы 3.2.17
Примеры кода рельсов:
Контроллеры,
def destroy
@group = Group.find(params[:id])
@group.destroy
respond_to do |format|
format.html { redirect_to(groups_url) }
format.xml { head :ok }
end
end
А также,
def destroy
@link = Link.find(params[:id])
@link.destroy
respond_to do |format|
format.html { redirect_to(links_url) }
end
end
Который генерирует:
HTML,
<a rel="nofollow" data-method="delete" data-confirm="Sure?" href="/groups/35">
x
</a>
А также,
<a rel="nofollow" data-method="delete" data-confirm="Sure?" href="/links/8">
x
</a>
Я заметил, что у меня было,
= javascript_include_tag "application"
В моем шаблоне макета приложения, и я попытался обновить это,
= javascript_include_tag :defaults
Но это не помогло с этой проблемой, все еще собираясь показать страницу, а не удалять и, что еще хуже, это остановило работу всего моего другого javascript! Например, оставить пользователя в поле поиска автоматически, календарь выбора даты и т. Д.
Мой файл application.js имеет:
//= require jquery-1.7.2.min
//= require jquery-ui-1.8.22.custom.min
//= require default_on_first_input_field
//= require row_shading
//= require long_or_short_details
//= require sortable_hook
//= require date-picker
//= require_self
1 ответ
Ответ состоял в том, что мне нужно было добавить только эту строку:
//= require jquery_ujs
на мой JS манифест. Это исправило это. Мой манифест теперь выглядит так:
// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
//
//= require jquery-1.7.2.min
//= require jquery-ui-1.8.22.custom.min
//= require jquery_ujs
//= require default_on_first_input_field
//= require row_shading
//= require long_or_short_details
//= require sortable_hook
//= require date-picker
//= require_self