On 18 May 2011, at 12:01, olivi morel wrote:

> Que fait la méthode #search de Item? (Est-ce celle de Sphinx?) 
> je ne comprend pas ta question c'est quoi Sphinx??

Ce n'est pas important pour le moment. 

> la méthode search recherche intégralité de mes articles pour me les renvoyés 
> dans la vue _search .

Px-tu envoyer le code de cette méthode?

> Pagination
> Pour le Gem de pagination j'utilise kaminari (0.12.4)
> 
> Sur quelle méthode pointe ta/tes route(s)?
> 
> la méthode search
> 
>   get "search" => "items#search", :as => "search"
> 
> la méthode index 
> 
> root :to => "items#index", :as => "index"
>   resources :items
> 
> 
> Pourquoi utilises-tu "before_filter" dans ce contexte?
> 
> j'utilise before_filter car j ai besoin de rechercher tous les articles pour 
> les mettres à jour ,et les voir dans l'index,
> 
> je ne devrais pas ??

Le before_filter est conçu pour effectuer certaines opérations avant l'appel à 
l'action. C'est assez original d'avoir une action qui est en même temps un 
filtre pour une autre action. De plus, lorsque tu appelles index, tu définis 
deux fois la variable d'instance @items (une fois dans le filtre et une seconde 
fois dans la méthode index). Du coup, la première définition est écrasée et ne 
sert à rien.

Un code plus correct serait:
---
before_filter :preprocess_search, :only => [:index, :update, :show, :new]

def index
  @items = Item.order("title").page(params[:page]).per(3)
end

def search
  @items = @search.all
end

private

def preprocess_search
  @search = Item.search(params[:search])
end
---
Mais ça ne réglera pas ton problème. Je pourrai t'en dire plus avec le code de 
la méthode search. 

Bien à toi,

Jean-Baptiste

> 
> Le 18 mai 2011 11:36, Jean-Baptiste Escoyez <[email protected]> a écrit :
> Peux-tu préciser ta question?
> 
> - Que fait la méthode #search de Item? (Est-ce celle de Sphinx?)
> - Quel gem de pagination utilises-tu?
> - Sur quelle méthode pointe ta/tes route(s)?
> - Pourquoi utilises-tu "before_filter" dans ce contexte?
> 
> On 18 May 2011, at 11:09, olivi morel wrote:
> 
>> bonjour 
>> je me permet de vous solliciter car je me retrouve devant un probléme que je 
>> ne parviens pas à résoudre
>> 
>> j  ai 2 méthode Search pour rechercher un article  et index, quand je 
>> commente  la ligne N° 10 la méthode search fonctionne correctement par 
>> contre la pagination ne s'effectue pas, et quand je commente la méthode 
>> search la pagination fonctionne bien .
>> 
>> 
>> 
>> codes:
>> 
>> 
>> 1    before_filter :search, :only => [:index, :update, :show, :new]
>> 2   
>> 3   def search
>> 4         @search = Item.search(params[:search])
>> 5         @items = @search.all
>> 6   end
>> 7
>> 8         def index
>> 9    
>> 10             @items = Item.order("title").page(params[:page]).per(3)  # 
>> permet d'effectuer la pagination
>> 11
>> 12                  respond_to do |format|
>> 13                    format.html # index_old.html.erb
>> 14                    format.xml  { render :xml => @items }
>> 15            end
>> 16       end
>> 
>> 
>> 
>> ps : je suis débutant en Rails ainsi que en dev Objet <333.png>
>> 
>> 
>> -- 
>> 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]
> 
> --
> Jean-Baptiste Escoyez
> 
> http://www.clickyourcar.be
> http://twitter.com/jbescoyez
> 
> 
> -- 
> 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]
> 
> 
> -- 
> 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]

--
Jean-Baptiste Escoyez

http://www.clickyourcar.be
http://twitter.com/jbescoyez

-- 
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 à