Ruby on rails 如何在rails中使用ajax替换application.html.erb中的html?

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

我在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="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代码来帮助我们创建更好的答案