Rails: как уничтожить элемент списка с помощью JS - PullRequest
0 голосов
/ 18 января 2019

У меня есть короткий код в одном представлении, как это

ul#numbers
  li
  = phone_numbers
  button data-url=phone_number_path(phone_number) data-method=:delete data-remote=true Delete

(Это Slim) И это нормально работает на стороне сервера (уничтожить элемент из базы данных). И у меня есть другое представление под названием destroy.js.slim. Мне нужен код, который уничтожает элемент (со страницы без перезагрузки страницы), но я не знаю, как это сделать, потому что у li нет идентификатора (я думаю, что мне нужно использовать documentGetElementById или что-то вроде этого). Надеюсь, вы можете помочь мне, спасибо.

1 Ответ

0 голосов
/ 18 января 2019

Например, если у вас есть действия в контроллере, как это:

def remove_phone_number
 @phone_number = PhoneNumber.find_by(number: params[:phone_number])
 @phone_number.remove
end

А по вашему мнению:

<li data-phone-id="<%= phone_number.id %>">...</li>

Вы можете создать remove_phone_number.js.erb (по умолчанию то же имя, что и действие контроллера) в папке просмотра для этого контроллера (например, views / phones ):

$('[data-phone-id=<%= @phone_number.id %>]').remove();

Обратите внимание, что этот код - всего лишь прототип, не тестирующий, но представляющий идею.

...