2017-11-04 95 views
0

我正在創建Rails API,當我得到mywebsite.com/posts/all的請求時,它會顯示我所有的發佈數據。我正在嘗試執行mywebsite.com/posts/all?limit=20以顯示20個結果或其他一些號碼。用rails來實現它的方法是什麼?限制json結果的數量 - Rails API

+1

google一下........ – GYaN

回答

0

限制將無法正常工作,每次如果u調用此方法只會最後20條記錄,返回 最好的辦法時間使用分頁達到這個結果,在這裏你可以限制每次請求打過去時傳遞的數字記錄

你可以使用gem will_paginate

在控制器

@posts = Post.paginate(:page => params[:page], :per_page => 20) 

在視圖

<%= will_paginate @posts %> 

有關信息will_paginate https://github.com/mislav/will_paginate/blob/master/README.md

如果üř使用以下

GET /v1/posts?page=1&per_page=10 
API通PARAMS屁股在控制器10

變化值

@posts = Post.paginate(page: params[:page], per_page: params[:per_page]) 
+0

是否will_paginate工作,如果我做的API,因爲我沒有意見,並用它來構建移動應用程序。 –

+0

@KriloMax我已經更新了上面的答案,請發現 –

+0

通過參數如上,它將工作像魅力,如果你想第二列表/ v1 /職位?page = 2&per_page = 10兒子... –

0

這個簡單的方法是

@posts = Post.limit(params[:limit]) 

但你也可以使用will_paginate gem