Bonjour,

Débutant sur rails, je suis en train de faire quelques tests pour voir
si je peux l'utiliser pour refaire un de mes sites qui est en php, et
je dois avouer que malgré l'aide du livre ruby on rails chez Eyrolles
et la lecture des forums, je n'arrive pas à faire marcher la
pagination quand je fais une recherche avec condition, puisque la
première page est bien affichée mais ensuite pour les pages suivantes
soit cela afficje l'ensemble de ma table soit ça affiche n'importe
quoi.
Je vous explique un peu plus en détail ce que j'ai fais.
1- fort de mes lectures et constatant que la pagination standard
allait disparaitre , j'ai installé le plugin paginating_find
2- dans mon modèle (recette.rb) j'ai défini ma fonction de recherche
avec condition et pagination
  def self.find_recette_by_name(search_string)
       find(:all, :conditions => ['name LIKE ?', "%#{search_string}
%"], :page => {:size => 10})
  end
3- j'ai un partiel avec une form ou je saisi mon critère
</fieldset>
        <legend>Entrer le nom (partiel) de la recette</legend>
        <% form_remote_tag :url => {:action => :search} do %>
                <%= text_field_tag :search_rec, params[:search_rec] %>
                <%= submit_tag "Rechercher", :class => "submit" %>
        <% end %>
</fieldset>
4-Ce partiel fait appel à une action search de mon controller
principal
  def search
      @recettes = Recette.find_recette_by_name(params[:search_rec])
  end
5- ce lui même pointe sur un search.rjs pour afficher un partiel
(_list_recipe.rhtml) avec le résultat de la recherche
page[:search_form].visual_effect :blind_up
page[:home].visual_effect :blind_up
page.replace_html("list_recipe", :partial => "list_recipe")
page[:list_recipe].visual_effect :blind_down

6- enfin le partiel
<div class="liste_rec">
<h3>Résultat de la recherche contenant <%= params[:search_rec] %></h3>
<% for recette in @recettes -%>
                <div class="caddy_rec">
                        <% form_remote_tag :url => {:action => :add_to_caddy, 
:id =>
recette } do %>
                                <%= submit_tag "Panier" %>
                        <% end %>
                </div>
                <div class="name_rec"><%= recette.name %></div>
<% end %>
 <%= link_to_remote(h('<< Previous'),
         :update => "list_recipe",
         :url => { :page => @recettes.previous_page, :params=>
{ :search_rec => params[:search_rec] }} ) %>
<%= link_to_remote(h('Next >>'),
         :update => "list_recipe",
         :url => { :page => @recettes.next_page, :params=>
{ :search_rec => params[:search_rec] }} ) %>
</div>

Sur ce partiel j'ai essayé plein de chose en essayant de passer le
paramètre search_rec, sans le passer, avec des syntaxe différentes
mais rien n'y fait, la première page est toujours correcte (il s'agit
bien de la sélection) mais les pages suivantes, soit c'est du grand
n'importe quoi (comme avec la syntaxe ci-dessus), soit ça me réaffiche
toutes les lignes de ma table (paginées)

Votre aide serait la bienvenue, je suis sur que c'est parceque il y a
quelque chose que je n'ai pas compris. Je sais aussi que j'aurai du
commencer sans ajax pour ne pas compliquer mon conde, mais il se
trouve que c'est ce que j'ai fait mais sans sélection et pagination
avant de passer à ajax et sélection/pagination.

Merci par avance de votre aide et désoler de ce long post.


--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---

Répondre à