2016-06-19 4 views
0

sqlite3でランダムな5レコードを選択してページを設定する必要があります。ランダムなレコードの選択とページ内のレール4

def test 
    add_breadcrumb "Age Test", ages_test_url 
    @posts = Age.limit(5).order('RANDOM()') 
    @posts = @posts.page(params[:page]).per_page(2) 
end 

上記のコードは、すべてのレコードを表示しますが、私は唯一の5

答えて

1

が代替構文を試してみてください必要があります。

Age.paginate(:page => params[:page], :per_page => 2).order('RANDOM()').limit(5) 

しかし、要素のランダムセットをページ付けのポイントは何ですか。ユーザーが最初の "ページ"を訪問するたびに、彼/彼女は最初のものを見た以外の要素を見るでしょう。無作為化された要素を改ページするという考えは論理的ではないようです。

+0

こんにちはウズベキョン、助けてくれてありがとうございました。あなたの質問に答えるには...私は10の投稿のセットを持っていて、ユーザは4,6のような質問をいくつでも選択できます。そのような質問はランダム化するべきです。 –

+0

それは事です。 6つの質問が選択されたとします。 3ページ(2ページに2ページ)に表示されます。ユーザーがページ「2」をクリックすると、2 *新規*ランダム要素が表示されます。つまり、最初のページに表示された要素が2番目のページに再び表示されることがあります。分かりますか? – Uzbekjon

+0

いいえ、私の現在のコーディングでは要素の繰り返しはありません...ユーザーが6と言う10個の要素があり、これらのうち10個は6個の要素を表示する必要があるとします –

関連する問題