0

我正在使用 jquery.pageless 插件。它通过抓取控制器中的分页方法生成的参数来实现无限滚动。

我正在尝试将自定义参数(例如用户 ID)传递给我的无页面函数。这在我在 js.erb 中加载函数时有效,如下所示:

$('#relationship_list').pageless({ totalPages: "<%= @reviews.count %>"/5+1
                       , url: '/reviews'
                       , params: {id: "<%= params[:id] %>"}
                       , loaderMsg: "loading"
                       });

这可以按需要工作。但是,我不想远程加载我的页面,所以我需要找到一种方法在 javascript 中实现这一点,不显眼(我不想直接在我的视图中集成脚本,我想将代码放在应用程序.js)。

这意味着我必须找到一种方法将 <%=params=> 之类的代码“翻译”为无页调用可以从控制器读取的变量。但是怎么做?我真的不知道该怎么做。

我认为对于已经了解 jquery.pageless 的人来说,这是一个最好的问题,而且由于它太笼统了,我在这篇文章中添加自己的代码毫无意义 - 如果不同意,请发表评论!

4

1 回答 1

0

这是我选择的解决方案。欢迎任何关于这是否是适当方式的提示:

if($('#relationship_list').length){
    $.ajax({
            type: 'GET',
            url: '/users/'+$('.user_info').attr("id"),
            dataType: 'json',
            success: function(response){
                $('#relationship_list').pageless({ url: '/reviews'
                                , totalPages: response["count"]/5+1
                                , loaderMsg: "loading"
                                , params: {id: response["id"]}
                });
            }
    });     
}

这样做是对控制器进行 ajax 调用,并使用关键参数呈现 json 参数。然后我使用这些参数来实现 .pageless 函数。

请注意,为了获取原始用户 ID,我实际上有一个包含用户 ID 的 div,因此我从页面中获取它。用户 ID 不是国家机密,但如果有人有关于如何获取 html 参数的提示(ID 在我的 rails 代码中的 params[:id] 中),我将不胜感激

于 2013-03-25T17:48:14.947 回答