will_paginate, endless page и нови записи

14 views
Skip to first unread message

Georgi Tapalilov

unread,
May 28, 2012, 4:22:56 PM5/28/12
to ruby-on-rai...@googlegroups.com
Здравейте. Стигнах до един проблем за който си блъскам главата 2 дена как да го реша. Имам Stream ресурс:
# == Schema Information
#
# Table name: streams
#
#  id             :integer         not null, primary key
#  content        :string(255)
#  user_id        :integer
#  created_at     :datetime        not null
#  updated_at     :datetime        not null
#  likes_count    :integer         default(0)
#  comments_count :integer         default(0)
#

Stream ресурса представялва нещо от рода на facebook публикациите. Показва публикации от current_user и приятелите на current_user подредени по created_at. Създадох endless page на базата на will_paginate с fallback към обикновено странициране. Имах проблем с ajax добавянето на нова публикация от current_user при страницирането, но го оправих като корегирах offset на will_paginate. Сега ми изникна проблема, за който споменах по-горе. Когато приятел/и на current_user добави нова публикация(по времето когато current_user разглежда публикациите) при зареждането на следваща страница се получава дублиране на публикации. Мисля си за следния начин по който мога да реша проблема. Да изпращам чрез ajax created_at на най-първата публикация и да лимитирам записите само по-стари от created_at(така да премахвам новите публикации от другите потребители).  Исках да чуя мнения на по-напреднали потребители от мен. Както и ако има други начини.


Поздрави,
Георги.

Stefan Kanev

unread,
May 28, 2012, 4:29:21 PM5/28/12
to ruby-on-rai...@googlegroups.com
Здрасти,

Аз правя точно това което ти описа, с тази разлика, че не ползвам created_at, ами id < ? order by id desc limit 30, където ? е id-то на последния запис на предходната страница.

На теория, в created_at има повторение, докато в id-тата няма (стига id-тата да са auto increment). На практика е едно и също.

Нямам никаква идея до колко will_paginate ще го поддържа - аз просто не го ползвам за това. Правя си заявките без него.

HTH,
Стефан

2012/5/28 Georgi Tapalilov <tapa...@gmail.com>

--
Това писмо идва от пощенския списък „Ruby on Rails: България“.
За да се отпишете: ruby-on-rails-bul...@googlegroups.com
Останалите екстри: http://groups.google.com/group/ruby-on-rails-bulgaria?hl=bg

georgi tapalilov

unread,
May 28, 2012, 4:46:52 PM5/28/12
to ruby-on-rai...@googlegroups.com
Благодаря за бързия и ичерпателен отговор отново. Значи съм бил на прав път за решението на проблема ми. Утре на бистра глава ще го изпробвам и ще видя какво ще сътворя. Приятна вечер

Поздрави,
Георги.

2012/5/28 Stefan Kanev <stefan...@gmail.com>
Reply all
Reply to author
Forward
0 new messages