2010-10-07 11 views
0

J'utilise will_paginate (3.0.pre2) avec rails 3.0.0.rc. La première page se termine bien mais quand je vais à la page 2, elle ne renvoie rien car la requête de la page 2 n'est pas correctement définie par will_paginate.paginate_by_sql, page suivante erreur

Controller:

page = params['page'].blank? ? 1 : params['page'] 
@posts = Post.paginate_by_sql (['select * from Foo_Table where ids = ?', params[:ids]], :page=>page, :per_page=>50) 
@pag_params = {:ids=>params[:ids]} 

Vue:

<%= will_paginate @posts, :params=>@pag_params %> 

Lien vers la page 2 est:

http://localhost:3000/posts/search?page=2&ids=1 

journaux montrent la clause where montrent ('recherche' ids =) une réponse incorrecte quand il devrait être (ids = '1')

SELECT * FROM `Foo_Table` WHERE (ids = 'search') 

Que manque-t-il pour que la requête de la page 2 puisse être corrigée?

Répondre

0

au développeur Nous avons parlé de de will_paginate et a trouvé que la meilleure façon d'attaquer c'est à l'aide scoped_by_column_name (... column_value ...). Paginera (... conditions ...)

Espoir Cela aide quelqu'un. :)