2010-04-09 8 views
0

J'ai le plugin will_paginate qui fonctionne dans une application, mais quand je pagine une ressource, il ne fait que cracher le HTML sous forme de texte, ne fournit pas de liens vers les pages suivantes et autres.Rails3 - will_paginate plugin étrange sortie

Et quand je tape manuellement dans l'URL du plugin fonctionne, il n'a tout simplement pas <%= will_paginate @products %> en liens tels que suivant 1 2 3 ... dernière

C'est la sortie

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

contrôleur

: index 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 

extrémité

vue

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

Cela se produit lorsque la valeur de '@ products' est null OU vide. Donc, assurez-vous que vous faites référence à la bonne variable. –

+0

peut-être, mais j'utilise la même variable que je boucle les produits et la boucle n'a aucun problème à accéder à la variable d'instance @products – s84

Répondre

1

Je crois que les raisons est la façon rails3 échappe html et pour quelque raison que ce will_pagiante est de s'échapper. Pour résoudre ce problème, vous devez d'abord obtenir la bonne gemme car le plugin ne fonctionnera pas, ajoutez gem 'agnostic-will_paginate', :require => 'will_paginate' et cela se fait dans le nouveau fichier gem situé dans le dossier app d'un projet rails3.

Après cela, vous devez arrêter les rails de s'échapper will_paginate avec raw donc quelque chose comme <%=raw will_paginate @products %> qui est l'opposition de <%=h will_paginate @products %> qui rails3 est équivalent à <%= will_paginate @products %>

+0

J'ai eu un problème similaire à l'OP ici. raw, h, html_safe tout n'a pas aidé. La seule chose qui a aidé était d'utiliser une version 3.0.3 de will_paginate. –

0

paginera PROPOSÉE À GitHub. Ce référentiel n'est plus mis à jour. Il est recommandé d'installer la pierre précieuse à la place d'un plugin Rails:

gem install will_paginate 

et essayez à nouveau

+0

Je pense que gem est obsolète – s84

+0

gem 'agnostic-will_paginate',: require => 'will_paginate ' – s84

+0

C'est le correctif pour rails3 – s84

2
source 'http://rubygems.org' 

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

si vous avez des problèmes liés à haml nous utiliser cette version:

gem 'haml', '3.0.2' 
2

will_paginate est maintenant à cet endroit:
petit bijou 'will_paginate',: git => 'git: //github.com/mislav/will_paginate.git',: branche => "rails3"

mise à jour de votre Gemfile