Bonjour,
J'avance sur mon projet rails (lentement mais j'ai un métier à côté
qui me prend du temps) et je me pose une question pour factoriser des
vues.
Tout d'abord un petit rappel du contexte :
Je développe un site de recettes de cuisine et donc j'ai plusieurs
fonction de recherche (par nom, par ingrédient, ...) qui toutes
doivent afficher une liste de résultat paginée.
Ma vue liste est actuellement composée de 2 parties.
1- la liste des recettes à afficher (10 par page)
2- la gestion de la pagination
Je voudrais pouvoir réutiliser cette vue pour chacune de mes
recherches sachant que
- dans la partie 1 le titre de la liste et les paramères de recherche
sont variables mais je peux les gérer facilement dans une variable
globale
- dans la partie 2 la fonction de recherche (:action) à appeler varie
ainsi que la variable et son contenu ("search" et ":search_rec =>
@params[:search_rec]" dans l'extrait ci-dessous)
<%= link_to_remote "►", :url => {:action =>
"search", :params => {:search_rec =>
@params[:search_rec], :current_page => @recettes.next_page}} %>
Ma question est donc quelle est la meilleure façon de faire pour
pouvoir utiliser cette vue quelque soit la recherche à l'origine
- gérer des variables globales que j'initialise avant l'appel de la
vue?
- passer par un helper, mais dans ce cas je ne suis pas sur de savoir
comment faire?
J'espère que je suis clair et merci de votre aide.
Pour ceux qui voudraient se rendre compte de ce à quoi ça ressemble,
vous pouvez jeter un coup d'oeil sur http://cvouslechef.alwaysdata.net
(attention, c'est une version très alpha non finie et avec un jeu de
test parfois incohérent et un pb sur certains caractère car j'ai fait
une reprise de données très rapide)
-
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---