On 15 oct, 12:01, "Jean-François" <[EMAIL PROTECTED]> wrote:
> Nicolas :
>
> > Merci, grace à ton aide j'ai réussi à faire marcher la pagination. Le
> > résultat est encore assez moche mais au moins il fonctionne ;)
>
> Il ne te reste plus qu'à indiquer les modifications que tu as
> finalement faites dans le code pour que ça marche, pour que ta
> première intervention (je crois) sur la liste soit parfaite.
>
> -- Jean-François.
Tout à fait. Donc voici l'explication et la modification du code
correspondant.
Explication :
Rappel : j'utilise le plugin paginating_find
Comme me l'a fait remarquer Jean François, je n'avais pas indiqué dans
ma métohode de recherche, le numéro de page que je voulais afficher
(:current).
J'ai donc modifié la méthode de recherche dans mon modèle en y
ajoutant le paramètre current_page (par défaut à 1)
def self.find_recette_by_name(search_string, current_page = 1)
find(:all, :conditions => ['name LIKE ?', "%#{search_string}
%"], :page => {:size => 10, :current => current_page})
end
J'ai rajouté un champs "hidden" pour contenir le numéro de page sur la
form de recherche (3)
<%= hidden_field_tag :current_page, params[:current_page] %>
Et dans ma vue (6), j'ai modifié mon lien vers la page suivante comme
ceci afin de passer en paramètre la chaine à rechercher et la page à
afficher
<%= link_to_remote "suivant", :url => {:action => "search", :params =>
{:search_tring => @params[:search_string], :current_page =>
@recettes.next_page}} %>
Il ne reste plus ensuite qu'à modifier la vue (helper?) pour afficher
précédent, les numéros de page, ... pour que tout cela soit un peu
plus joli et facile d'utilisation.
Voilà j'espère que c'est clair.
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---