Rails: 如何用JS销毁列表元素
Rails: How to destroy element of list with JS
我在一个视图上有这样的短代码
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 没有 id(我想我需要使用 'documentGetElementById' 或类似的东西)。希望你能帮助我,谢谢。
例如,如果您在控制器中有这样的操作:
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();
请注意,此代码只是原型,不是测试,而是展示想法。
我在一个视图上有这样的短代码
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 没有 id(我想我需要使用 'documentGetElementById' 或类似的东西)。希望你能帮助我,谢谢。
例如,如果您在控制器中有这样的操作:
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();
请注意,此代码只是原型,不是测试,而是展示想法。