Rails active_resource требует, чтобы JS делал удаление по link_to? - PullRequest
1 голос
/ 19 декабря 2008

Когда я использую link_to: method =>: delete, рельсы генерируют щелчок JavaScript, что не очень хорошо, если вы сталкиваетесь с ситуацией, когда ваш клиент просто отключил JavaScript. Это кажется плохой идеей для меня. Есть ли шанс обойти это?

Ответы [ 3 ]

1 голос
/ 19 декабря 2008

Ваш единственный вариант - сделать это вручную.

Предполагая, что объект, который вы хотите удалить, находится в @item, просто сделайте это:

form_for @item, :method => :delete do |f|
  f.submit "Delete this item"
end

Затем вы можете стилизовать кнопку отправки, чтобы она выглядела как обычная ссылка, если хотите.

1 голос
/ 19 декабря 2008

Она генерирует форму с методом = "delete", лучше всего сделать ее самостоятельно, единственное, что кнопка отправки будет не ссылкой, а кнопкой.

Вы ни в коем случае не должны пытаться делать это с базовым <a href="">, потому что разрушительное действие (создание, обновление, удаление) не должно выполняться с запросом GET.

0 голосов
/ 12 сентября 2010

Если вам нужно, чтобы он работал без JavaScript, используйте button_to:

<%= button_to 'Delete', @item, :method => :delete %>

Из документа:

Создает форму, содержащую одну кнопку, которая отправляется на URL создается набором + опций +. Это самый безопасный способ убедитесь, что ссылки, которые вызывают изменения в ваших данных, не инициируются поисковые боты или ускорители.

...