czesc
Mam problem z zastosowaniem klasy Paginator.
Wszystko jest w porzadku jezeli mam taki zapis:
(po krotce: w tabeli jest np. 18 wpisow, 6 pojawia sie na stronie, 3 aktywne linki do podstron - w tym przykladzie Paginator dziala bez zarzutu)
[code]__controller:
def entries_listing
@entry_pages = Paginator.new self, Entry.count, 6, params[:page]
@entries = Entry.find_all_entries(@entry_pages)
end[/code]
[code]__model:
def self.find_all_entries(a)
find :all,
:order => ‘quality DESC’,
:limit => a.items_per_page,
:offset => a.current.offset
end[/code]
(problem pojawia sie, gdy stosuje :include oraz :conditions, korzystam tutaj z habtm: Entry has_and_belongs_to_many :categories, Category has_and_belongs_to_many :entries,
probuje wyciagnac z bazy wszystkie wpisy, ktore sa przyporzadkowane do okreslonej kategorii
[code]__controller:
def entries_listing
@category_name = params[:category_name]
@entry_pages = Paginator.new self, Entry.count, 6, params[:page]
@entries = Entry.find_all_entries(@entry_pages, @category_name)
end[/code]
[code]__model:
def self.find_all_entries(a, b)
find :all,
:order => ‘quality DESC’,
:include => :categories,
:conditions => ['categories.name = ?', b],
:limit => a.items_per_page,
:offset => a.current.offset
end[/code]
(no i teraz Paginator zawodzi, pojawiaja sie 3 linki do podstron (1-podstrona, 2-podstrona, 3-podstrona) - z tymże tylko pierwszy link dziala, dwa pozostale nie dzialaja - co jest oczywiste bo tyle wpisow o danej kategorii nie ma w bazie - ale dlaczego w ogole pojawiaja sie podstrony 2 i 3?
na pierwszy rzut oka dziala to tak:
pobierane sa wszystkie wpisy :all (Entry - jest ich 18), Paginator robi swoje (3 podstrony po 6 wpisow i wywala to na strone), ale jest warunek :conditions => [‘categories.name = ?’, b] i tu zaczyna sie problem …
: