在rails中使用Ajax/jQuery删除行时,有些东西不起作用

在rails中使用Ajax/jQuery删除行时,有些东西不起作用,jquery,ruby-on-rails,ruby-on-rails-3,Jquery,Ruby On Rails,Ruby On Rails 3,这是一段相当直接的代码,但不知何故,当我单击“删除”时,记录会被删除,但在我刷新它之前,它不会显示在索引页上。我正在使用jquery显示所有记录 在控制器中,我添加了销毁操作 format.js 在Index.html.erb中,我添加了 <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' }, :remote => true %></td>

这是一段相当直接的代码,但不知何故,当我单击“删除”时,记录会被删除,但在我刷新它之前,它不会显示在索引页上。我正在使用jquery显示所有记录

在控制器中,我添加了销毁操作

format.js
在Index.html.erb中,我添加了

<td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' }, :remote => true %></td>
true%>
在destroy.js.erb中,我添加了

$('#edit_post_<%= @post.id %>').remove();
$('edit#u post').remove();
现在,当我单击delete链接时,帖子被删除,但索引文件的输出没有得到更新,只有在我刷新它时,它才会显示没有删除项的新列表。你知道我错过了什么吗

谢谢

编辑-好的,我能够解决这个问题,问题是destroy.js.erb中的jquery代码不正确,我在控制器设置时调用了错误的div
@post\u id=@post.id
在你摧毁邮局之前

在js.erb文件中使用这一行
$('edit#u post').remove()


因为删除帖子后,@post.id在js文件中没有任何意义。

在呈现
format.js
之前,请确保在控制器中添加了
@post.destroy
方法。目前您仅从html源中删除。要反映更改,您必须整体更改值(从
数据库

如果您在开发人员工具中查看网络选项卡,您是否收到服务器的响应?它是否向您发送了您期望的javascript?您的操作是否会像JS一样“破坏”进程?您可以在您的服务器控制台中看到它,例如在我的机器上:
Started GET”/settings/computed_labs.yaml“for 127.0.0.1 at 2013-01-03 12:01:50-0500 Processing by settings::computed labs controller#index as yaml
它显示没有删除项的新列表,这不是通过单击网络下的删除链接?@chrisbulmer-来删除的吗,它正在以200的速度获得post/xxOK@MrYoshiji-我不太清楚你在说什么,你能澄清一下吗?不幸的是,这不起作用,帖子正在被删除,但除非我刷新它,否则它不会从列表中删除