2013-03-25 51 views
0

我正在使用jquery.pageless插件。它通過抓取控制器中的分頁方法生成的參數來實現無限滾動。jquery.pageless scrape

我想將自定義參數(如用戶ID)傳遞給我的無頁面函數。這在我在js.erb中加載函數時有效,如下所示:

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

這可以按需要工作。但是,我不想要遠程加載我的頁面,所以我需要找到一種方法來在JavaScript中實現這一點,不顯眼(我不想直接在我的視圖中集成腳本,我想將代碼放入application.js中)。

這意味着我必須找到一種方法將'<%= params =>這樣的代碼翻譯成無頁呼叫可以從控制器讀取的變量。但是如何?我真的不知道該怎麼做。

我認爲這是一個最好的人誰已經知道jquery.pageless,因爲它是如此普遍沒有任何意義,我添加自己的代碼到這篇文章 - 請評論,如果不同意!

+0

[「是否有其他人使用'x'「問題不適合堆棧溢出。](http://stackoverflow.com/faq#dontask)你的**實際**問題是什麼? – 2013-03-25 16:38:28

+0

好的,謝謝@MattBall,這幫助我更好地理解我的目標是什麼。 – Laurent 2013-03-25 16:49:03

回答

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 PARAM。然後我使用這些參數來實現.pageless功能。

請注意,爲了得到原始的用戶ID,我實際上有一個包含用戶ID的div,所以我從頁面抓取它。用戶ID不是國家機密,但如果任何人有關於如何獲取html參數的提示(ID在params [:id]在我的rails代碼)我會超級感謝