Rails3 - странен изход на приставката will_paginate

Имам плъгина will_paginate, работещ в приложение, но когато пагинирам ресурс, той просто изхвърля HTML като текст, не предоставя връзки към следващите страници и други подобни.

И когато въвеждам ръчно URL адреса, приставката работи, просто не прави <%= will_paginate @products %> във връзки като следващ 1 2 3 ... последен

Това е изходът

<span class="disabled prev_page">&amp;laquo; Previous</span> <span class="current">1</span> <a href="/bg/products?page=2" rel="next">2</a> <a href="/bg/products?page=2" class="next_page" rel="next">Next &amp;raquo;</a>

контролер: def индекс

@products = Product.all.paginate :per_page => 5, :page => params[:page]
@product_categories = ProductCategory.find(:all)
respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @products }
end

край

изглед

<%= will_paginate @products %> 
<%= will_paginate %> #for some reasons this works too

person thenengah    schedule 09.04.2010    source източник
comment
Това се случва, когато стойността за @products е нула ИЛИ празна. Така че се уверете, че имате предвид правилната променлива.   -  person Harish Shetty    schedule 09.04.2010
comment
може би, но аз използвам същата променлива, с която зациклям продуктите и цикълът няма проблем с достъпа до променливата на потребителския модел @products   -  person thenengah    schedule 09.04.2010


Отговори (4)


source 'http://rubygems.org'

gem 'rails', '3.0.0.beta2'
gem "will_paginate", '3.0.pre' 

ако срещнете проблеми, свързани с haml, ние използваме тази версия:

gem 'haml', '3.0.2'
person Andreas Klinger    schedule 23.05.2010

will_paginate вече е на това място:
gem 'will_paginate', :git => 'git://github.com/mislav/will_paginate.git', :branch => "rails3"

актуализирайте своя gemfile

person David Henner    schedule 06.07.2010

Вярвам, че причините са начините, по които rails3 избягва html и по някаква причина will_pagiante се избягва.

за да коригирате това, първо трябва да получите правилния gem, тъй като плъгинът няма да работи, така че добавете gem 'agnostic-will_paginate', :require => 'will_paginate' и това се прави в новия gem файл, намиращ се в папката на приложението на проект rails3.

След това трябва да спрете релсите да избягват will_paginate с raw така че нещо като <%=raw will_paginate @products %>, което е опозицията на <%=h will_paginate @products %>, което в rails3 е еквивалентно на <%= will_paginate @products %>

person thenengah    schedule 09.04.2010
comment
Имах подобен проблем с OP тук. raw, h, html_safe всичко не помогна. Единственото нещо, което помогна, беше използването на версия 3.0.3 на will_paginate. - person Graeme Moss; 05.10.2012

ЩЕ СЕ ПАГИНИРА ПРЕМЕСТЕН ​​В GITHUB. Това хранилище вече не се актуализира. Препоръчително е да инсталирате gem вместо Rails плъгин:

gem install will_paginate

и Опитайте отново

person Salil    schedule 09.04.2010
comment

Създадох клас обем (наречен VoxelVolume) със самоорганизиращо се управление на паметта, тъй като GC в C# не предостави добър механизъм за управление на съдържанието на тома за картографиране, декартиране и повторно картографиране. Въпреки че можех да използвам механизмите на виртуалната памет, проблемът е, че файловете често са твърде големи, за да се поберат във файла на страницата и не искам да принуждавам потребителите да увеличат размера на файла на страницата.

В момента тази система работи доста добре и няма проблем с липсата на ресурси и OutOfMemoryExceptions, тъй като InsufficientMemoryException с помощта на MemoryFailPoint работи доста добре. Всичко това беше изпробвано на 32-битова WinXP система с 2 GB основна памет.

Изпълнението на същия механизъм на 64-битова система с 32 GB основна памет също работи добре, но когато приложението работи, MemoryFailPoint внезапно хвърля изключение, въпреки че 24 GB основна памет все още са свободни. Друг момент е, че когато MemoryFailPoint се задейства веднъж, той се задейства всеки път и няма шанс да се отървете от него.

Това, което прочетох досега, че има малък обект и голяма купчина обекти (SOH и LOH). Но само за SOH GC полага реални грижи и мога да освободя SOH от неизползвани обекти чрез прилагане на GC.Collect() и GC.WaitForPendingFinalizers. MemoryFailPoint очевидно е единственият начин да получите малко контрол върху LOH, но тъй като има достатъчно останала памет в системата, не виждам причина MemoryFilePoint да се задейства.

Има ли опит тук с MemoryFailPoint?

Благодаря ви за помощта Мартин

- person thenengah; 09.04.2010