Utilizzo da un pò questi due preziosissimi plugin per la ricerca su grandi quantità di dati.
Ferret è il porting in ruby di Lucene e sostanzialmente è un motore di ricerca fulltext mentre will_paginate è un plugin per la paginazione (di prodotti nel caso di un negozio online per esempio).
Oggi volevo paginare i risultati di una ricerca fatta con ferret…ed ho avuto vari problemi.
In pratica mi funzionava solamente la prima pagina, mentre dalla seconda in poi non dava più risultati, dopo qualche minuto di analisi (grazie anche a firebug) mi sono accorot che la stringa che rappresentava la query di ricerca veniva “persa” nel passaggio alla pagina successiva.
Ho quindi escogitato questo stratagemma poco elegante ma per lo meno funzionante (ho molta fretta oggi
)
if !params[:query].nil?
@query = params[:query].downcase
session[:query] = @query
else
@query = session[:query]
end
Questo codice non fa altro che salvare in sessione la stringa di ricerca se questa non è stata ritrasmessa.
Perdonatemi la “pressapochezza” di questo post ma sono veramente di super fretta oggi.
Se avete problemi contattatemi
Filippo