rails应用程序中处理程序的奇怪行为

时间:2013-08-23 09:59:39

标签: ruby-on-rails turbolinks

我有一个带有resoruce项目的rails应用程序。我注意到,如果我添加一些处理程序,它们会在页面更改时被删除。

    <%=link_to "Add fund","#",:class=>"addfund btn btn-primary"%>
    <form class="addfundform hide"action="<%=addFund_item_path :id=>item.id %>">
      <input type="text" name="fund">
      <input type="submit" value="Add" class="btn">
      <a href="#" class="cancelfund btn btn-warning" >Cancel</a>
    </form>

默认情况下隐藏addfundform,当您单击addfund时,将显示addfundform表单。

$(document).ready(function(){


function showfundform(){
    console.log("Hello")
    var $item=$(this);
    $item.next("form").show();
    return false;
}

$(".addfund").click(showfundform)


})

所以当我点击addfund按钮时,会显示表单。但是当我点击取消按钮时它会消失。 (这很有趣,因为我还没有添加任何内容)之后,addfund按钮不会执行任何操作。好像处理程序已被删除。 如果我不去项目页面。我进入新的项目页面,然后到项目页面,处理程序未加载

这很奇怪,因为我没有通过ajax获取任何东西。这是一个rails4应用程序。我看到一个关于turbolinks的错误,虽然我不知道了

1 个答案:

答案 0 :(得分:0)

Rails 4附带了Turbolinks的功能,似乎造成了麻烦。请按照下列步骤操作: -

从app / assets / javascripts / application.js中删除// = require turbolinks。 删除两个“data-turbolinks-track”=&gt;来自app / views / layouts / application.html.erb的真正哈希键/值对。

你应该好好去。