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

时间:2012-12-29 10:51:23

标签: 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&amp;start=company_count',

我想得到前任:

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>

1 个答案:

答案 0 :(得分:1)

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

$.ajax({
       type: "GET",
       url: '<%=j companies_path %>',
       data: { start: "<%= params[:f] %>", start: company_count },
       dataType: "script"
});
相关问题