2012-02-19 40 views
2

我有一個Listing#index頁面,其中顯示50個列表。我想要一個「更多」按鈕來觸發javascript來查詢我的MySql數據庫以獲取更多列表,然後附加到現有的50個列表,而無需刷新頁面。使用javascript查詢額外的Rails數據

我應該怎麼辦?我正在使用Rails和jQuery。我知道Rails,但是JavaScript是新的。

非常感謝您的幫助。

+0

分頁是你的朋友。 Google「分頁欄」。有很多選擇。 – 2012-02-19 05:43:34

+0

謝謝馬克。我不能在我的情況下使用分頁。 – AdamNYC 2012-02-19 16:30:55

回答

2

有很多方法可以解決這個問題。

1您可能會渲染一個「... js.erb」模板,它將使用append方法(http://api.jquery.com/append/)或其他操作邏輯來執行一些jquery代碼。不要忘記將遠程屬性設置爲您的按鈕。我認爲這種方法對你來說最簡單。

例如:

在控制器:

def get_posts 
    @posts.all # or something you need 
    render "_get_posts.js.erb" 
end 

_get_posts.js.erb:

<% @posts.each do |post| %> 
    $('#posts').append("<%= post.title %>"); 
<% end %> 

此外,在js.erb您可能導致部分或你想要的東西。

2綁定邏輯單擊按鈕事件(http://api.jquery.com/click/),而不是通過各種方式將ajax查詢發送到服務器(http://api.jquery.com/ category/ajax /),比渲染你選擇的數據(json,html,xml)和在ajax的回調函數中的客戶端捕獲它並追加到你的頁面。

+0

非常感謝您的詳細建議。我對JavaScript很陌生,所以我仍然爲第二步而努力。你能舉一個很快的例子說明我應該怎麼做? – AdamNYC 2012-02-20 03:30:16

相關問題