Javascript没有在Rails的回调上执行?

Javascript没有在Rails的回调上执行?,javascript,jquery,ruby-on-rails,ajax,erb,Javascript,Jquery,Ruby On Rails,Ajax,Erb,我有两个并排的回调函数,它们似乎执行完全相同的事情。然而,第一个有效,第二个无效——它甚至不执行javascript,尽管文件是呈现的 这是一个不起作用的函数-在局部: <%= button_to 'Delete', todo_path(@item.id, :format => :js, ), :method => :delete, :remote => true, :for

我有两个并排的回调函数,它们似乎执行完全相同的事情。然而,第一个有效,第二个无效——它甚至不执行javascript,尽管文件是呈现的

这是一个不起作用的函数-在局部:

<%= button_to 'Delete', todo_path(@item.id, :format => :js, ), 
                :method => :delete,
                :remote => true,
                :form => { "data-type" => "js" },
                :form_class => "btn btn-danger btn-xs" %>
在回调上(在todos/destroy.js.erb中):

想法

更新

我刚刚在中添加了一些Ruby调试:

<% print "HERE I AM" %>

然后打印出来。所以模板被呈现,只是javascript没有被调用。仍然不是解决方案:(


此外,从各个方面看,它看起来都和其他函数一样,只是在部分呈现。

非常感谢fylooi对调试的建议!结果是javascript正在执行,但只是引用了页面上的错误元素。强烈建议使用Firebug(不是内置的调试器)。谢谢!

你能创建一个JSFIDLE吗?或者至少给我们提供HTML和JavaScript而不是RubyHi——JavaScript是第三个块。它根本没有被执行。在你的控制器中去掉你的respond_to block。在你的情况下,它什么都没做(我相信{})正在吞噬你的响应{}Rails执行默认模板的方式是什么?下面是一篇描述它的博客文章,请尝试根据这一点进行调试-
alert("foobaz");
console.log("baz-foo");
$("#item_<%= @item_id %>").remove();
Started DELETE "/todos/73.js" for ::1 at 2015-04-20 20:24:37 -0700
Processing by TodosController#destroy as JS
  Parameters: {"authenticity_token"=>"sKfPWYP4owepOSDKBtTAoUMN4cVez/d5rz7k+UV0BY9Eu3Qkv/loiSpg4E6hN8Jmqih0+1v0WUROjL8h8IBnyQ==", "id"=>"73"}
  Item Load (4.5ms)  SELECT  `items`.* FROM `items` WHERE `items`.`id` = 73 LIMIT 1
  Rendered todos/destroy.js.erb (0.4ms)
<% print "HERE I AM" %>