我有一个带有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的错误,虽然我不知道了
答案 0 :(得分:0)
Rails 4附带了Turbolinks的功能,似乎造成了麻烦。请按照下列步骤操作: -
从app / assets / javascripts / application.js中删除// = require turbolinks。 删除两个“data-turbolinks-track”=&gt;来自app / views / layouts / application.html.erb的真正哈希键/值对。
你应该好好去。