Какова общая практика по ограничению результата в RoR? - PullRequest
0 голосов
/ 12 июля 2010

Ситуация понравится .... .... у пользователя много постов. Но если я вернусь ко всем сообщениям, это станет очень медленным. Итак, я могу оглянуться назад на первую десятку (1-10). Когда пользователь нажимает «далее», он получает (11-20). Итак, мой вопрос, как я могу это реализовать? спасибо.

<%=h @user.posts.inspect  %> <!--It can  show all the posts, but I want first ten only-->

Ответы [ 2 ]

3 голосов
/ 12 июля 2010

Большинство разработчиков Rails используют гем will_paginate для этого и не без причины, потому что его действительно очень легко использовать:

# In your controller
@posts = @user.posts.paginate, :page => params[:page]

# In your view template
<%= will_paginate @posts %>
0 голосов
/ 12 июля 2010

Это зависит от того, волнует ли вас пользователь, пропускает ли он несколько сообщений или видит несколько сообщений несколько раз, когда меняется основной список сообщений.Если вам нужно убедиться, что этого не произойдет, вам нужно сделать снимок базового списка, а затем разбить его на список снимков.Я обычно храню снимок списка в таблице базы данных и истекаю старыми записями с помощью демона.Если вы используете подход, вы, вероятно, захотите увеличить количество элементов в списке до 1000 сообщений, чтобы записи в базе данных не становились слишком большими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...