Javascript 如何在ruby代码中添加JS变量?

Javascript 如何在ruby代码中添加JS变量?,javascript,ruby-on-rails,ruby,ajax,jquery,Javascript,Ruby On Rails,Ruby,Ajax,Jquery,我使用ajax提供JS功能,其中包含以下url: var company_count = COMPANIES_PER_PAGE; .... url: '<%=j companies_path(start: ' + company_count + ', f: params[:f]) %>', .... company_count += COMPANIES_PER_PAGE; 我想为前男友买: url: '/companies?f=k&start=30', 整篇 &l

我使用ajax提供JS功能,其中包含以下url:

var company_count = COMPANIES_PER_PAGE;

....

url: '<%=j companies_path(start: ' + company_count + ', f: params[:f]) %>',
....
company_count += COMPANIES_PER_PAGE;
我想为前男友买:

url: '/companies?f=k&start=30',
整篇

  <script>
    var COMPANIES_PER_PAGE = <%= @companies_per_page %>;
    var company_count = COMPANIES_PER_PAGE;

    $(document).ready( function(){
      checkScroll();
    });

    function checkScroll() {
      if (nearBottomOfPage()) {
        $('#loading_more_'+(company_count-COMPANIES_PER_PAGE)).fadeTo(200, 1);
        $.ajax({
           type: "GET",
           url: '<%=j companies_path(start: company_count, f: params[:f]) %>',
           dataType: "script"
         });
        company_count += COMPANIES_PER_PAGE;
      } else {
        setTimeout(checkScroll, 250);
      }
    }
  </script>

var公司每_页=;
var公司计数=每页公司数;
$(文档).ready(函数(){
checkScroll();
});
函数checkScroll(){
if(接近页面底部()){
$(“#加载更多”+(公司数-每页公司数)).fadeTo(200,1);
$.ajax({
键入:“获取”,
url:“”,
数据类型:“脚本”
});
公司数量+=每页公司数量;
}否则{
设置超时(检查滚动,250);
}
}

为什么不使用$.ajax()的数据属性?它允许您附加所有JS变量,以及Ruby生成的变量

$.ajax({
       type: "GET",
       url: '<%=j companies_path %>',
       data: { start: "<%= params[:f] %>", start: company_count },
       dataType: "script"
});
$.ajax({
键入:“获取”,
url:“”,
数据:{start:,start:company\u count},
数据类型:“脚本”
});

Js变量应作为数据属性添加到DOM中。然后你的js代码可以从这里获取它们。在ajax中,将JSON发送回服务器。我使用了
url:
$.ajax({
       type: "GET",
       url: '<%=j companies_path %>',
       data: { start: "<%= params[:f] %>", start: company_count },
       dataType: "script"
});