我不确定 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,你可能需要在那里做一些修改。