我不确定rails_ujs.js是如何工作的,但我认为你的问题在于你在客户端添加的html内容没有响应已绑定的事件。解决方法是,无论何时在客户端添加新的HTML元素,您还必须将任何事件绑定到它。
请看下面的例子:
<html>
<head>
<title>My Page</title>
<script src="jquery.js"></script>
</head>
<body>
<div id="content">
<a href="#" class="link">Click me</a>
</div>
<a href="#" class="add_link">Add link</a>
<script type="text/javascript">
$(document).ready(function(){
$('.link').click(function(){
alert('Click me');
});
$('.add_link').click(function(){
$("#content").append("<a href='#' class='link'>Click me no alert...</a>");
});
});
</script>
</body>
</html>
当你点击“添加链接”链接会添加一个链接,说按我并具有一流的“链接”。但是,如果您点击此链接,则不会显示警报,即事件点击事件不会触发,而只会触发服务器端生成的内容。
该解决方案更详细的这个问题描述: In jQuery, how to attach events to dynamic html elements?
但是我不知道如何将它应用到rails_ujs,你可能需要做一些修改那里。
这就是我的想法,这使得这非常令人沮丧地弄清楚。我的实际代码是注入csrf标记并为utf-8设置表单。 – bcardarella