2016-06-19 12 views
0

Мне нужно выбрать случайные 5 записей в sqlite3 и разбивать их на страницы.Выбор случайных записей и разбиение на страницы в рельсах 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) 

Однако то, что точка постраничного в случайных набор элементов , Каждый раз, когда пользователь посещает первую «страницу», он/она будет видеть элементы, отличные от s/он видел первый. Идея разбиения на ранжированные элементы не представляется логичной.

+0

Hi Uzbekjon, Спасибо за помощь, но это не сработало. Чтобы ответить на ваш вопрос ... У меня есть набор из 10 сообщений, и пользователь может выбрать любое количество вопросов, скажем, 4 или 6 или что-то в этом роде, и этот вопрос должен быть рандомизирован. –

+0

Вот и все. Скажем, пользователь выбирает 6 вопросов. Вы бы указали их на 3 страницы (2 на страницу). Когда пользователь нажимает на страницу '2', он/она будет видеть 2 * новые * случайные элементы. Другими словами, элемент, появившийся на первой странице, может снова появиться на второй странице! Ты знаешь, что я имею в виду? – Uzbekjon

+0

Нет повторения элементов в моем текущем кодировании ... Скажите, что есть 10 элементов, которые пользователь говорит 6, и из этих 10 необходимо отобразить 6 элементов на странице 2 на страницу –

Смежные вопросы