Изменения, которые они внесли в Rails 3 с помощью этих атрибутов data-
, были не о постепенном ухудшении, а о ненавязчивом JavaScript.
В Rails 2 указание :method => :delete
для ссылки создаст целую кучу встроенного JavaScript, который создаст форму со скрытым вводом и затем отправит форму. Это было так же, как и сейчас: отключите JavaScript, и по умолчанию это GET-запрос. Таким образом, поддержка случая отсутствия JavaScript такая же, как и раньше.
Один из вариантов - использовать форму / кнопку вместо ссылки, чтобы вы могли включить метод в качестве скрытого поля, как это делает JavaScript в Rails 2. Другой вариант - заставить версию GET перейти на промежуточную страницу, которая в свою очередь имеет форму / кнопку.
Преимущество нового подхода в том, что он ненавязчив. JavaScript для изменения глагола HTTP существует во внешнем файле и использует атрибуты data-
, чтобы определить, к каким элементам он должен быть присоединен.