【发布时间】:2014-11-04 15:12:43
【问题描述】:
我有一个 Rails 应用程序,其中包含我想使用 javascript 删除并隐藏行的项目列表。
我的经验是,如果我单击一个链接,该项目将被删除并且该行消失。如果我点击另一个,控制器不会被调用,页面只是通过javascript刷新。
show.html.erb
link_to image_tag("bin-20.png", :border => 0), '#', :title => 'Remove this item',
data:{ deleteitem: item.id }
item.js.coffee
$ ->
$("a[data-deleteitem]").click ->
urllink = "/itemisations/" + $(this).data("deleteitem")
divclass = ".item-" + $(this).data("deleteitem")
$.ajax
type: "POST"
url: urllink
dataType: "json"
data:
_method: "delete"
$(divclass).toggle()
alert("Item has been removed from your list")
如果我单击一个链接,然后单击另一个。我在控制台中得到的输出是:
POST http://local-dev.com:3000/itemisations/636 200 OK 1.6s jquery.js?body=1 (line 9632)
GET http://local-dev.com:3000/items/60# 200 OK 7.88s turboli...?body=1 (line 59)
GET http://local-dev.com:3000/items/60# 200 OK 8.31s
所以我可以看到,在第一次单击时,系统会在控制器上运行删除调用,然后显示视图。但是,在第二次单击时,对控制器的调用未运行...
哦,我运行到咖啡脚本的链接而不是直接到控制器的远程链接的原因是我希望能够在例程中调用切换
【问题讨论】:
标签: javascript ruby-on-rails ruby-on-rails-4 coffeescript