Ruby on rails 如何在rails中使用ajax替换application.html.erb中的html?
我在yield中尝试ajax,所有这些都可以正常工作,但当我在application.html.erb布局中实现ajax替换html时,ajax不工作,也不替换html my application.html.erb:Ruby on rails 如何在rails中使用ajax替换application.html.erb中的html?,ruby-on-rails,ajax,Ruby On Rails,Ajax,我在yield中尝试ajax,所有这些都可以正常工作,但当我在application.html.erb布局中实现ajax替换html时,ajax不工作,也不替换html my application.html.erb: <li id="header_notification_bar" class="dropdown"> <a id="click_notif" data-toggle="dropdown" class="dropdown-toggle" data-remote
<li id="header_notification_bar" class="dropdown">
<a id="click_notif" data-toggle="dropdown" class="dropdown-toggle" data-remote="true" href="#">
<i class="fa fa-bell-o"></i>
<span id="notif_count" class="badge bg-warning"></span>
</a>
<ul id="notif_content" class="dropdown-menu extended notification">
</ul>
</li>
<script>
$(document).ready( function() {
$('#notif_content').html("<%=j render 'layouts/load_notif' %>");
$("#click_notif").click(function(){
$('#notif_count').html("<%=j render 'layouts/notif_count' %>");
});
});
</script>
如果ajax在内部实现了yield,controller中的操作应该添加format.js,我用action_name.js.erb创建文件,但是如果在application.html.erb中,我应该怎么做
请帮帮我,谢谢你尝试过这个吗:
$(document).ready( function() {
$('#notif_content').html("<%=j render 'layouts/load_notif' %>");
$(document).on("click", "#click_notif", function(){
$('#notif_count').html("<%=j render 'layouts/notif_count' %>");
});
});
委派
尽管您的问题相当模糊,但ajax的典型问题是,由于您正在将新元素加载到DOM中,JS事件绑定器无法附加相应的事件
我不认为我所写的代码是开箱即用的,但它基本上依赖于原则——您选择容器元素,并从中委托事件
因为容器在DOM加载时就存在,这意味着您可以让它处理新元素。您确实需要提供AJAX代码来帮助我们创建更好的答案