在rails中执行删除操作后返回什么类

时间:2019-05-28 16:15:17

标签: ruby-on-rails rails-ujs

我正在使用rails-ujs删除对象, 我的目标是在删除obj后隐藏该div和obj,我之前做过,但是这次我无法获取,我想我需要知道发生了什么。 正在查看:

*ngFor="let variablename of hack(arrayObjectname)"

关于destroy.js.erb:

<div class="employee_<%= employee.id %>" 
<%= link_to 'Destroy', employee, method: :delete, remote: true } %>
</div

控制器:

$('div.each-employee-data').find('div.employee_<%= @employee.id %>').hide(); # if i change the id to employee.id i get another error

控制台错误:

format js

1 个答案:

答案 0 :(得分:2)

一旦销毁了一条记录,就不再应该使用它,并且它不再具有id。对于您的情况,您可以先保存ID,然后再在控制器中删除它:

@deleted_employee_id = @employee.id
@employee.destroy
...

并在js视图中...find('div.employee_<%= @deleted_employee_id %>').hide()...

PS。另外,通常的做法是使用“软删除”-在模型中有一个标志,指示记录是否被“删除”,并在destroy操作中进行设置,而无需实际删除,如果用户希望删除记录,这将很有用“撤消”。