rails and ruby

About Me

Subscribe now!Feeds RSS

Latest posts

Hot posts

My Bookmarks

Links

I miei progetti

Search

ACTS AS TAGGABLE ON STEROIDS E WILL PAGINATE INSIEME

0 comments

Da molto tempo ormai, e con piena soddisfazione, uso questi due plugin, acts as taggable on steroids e will paginate.
Il primo serve ad aggiungere dei tag ad uno o più modelli, mentre il secondo serve a paginare i risultati di una query.
Fin qui tutto ok, ma quando ho provato a paginare i risultati provenienti da una ricerca per tag ho ricevuto un errore sql.
Mi sono informato, e mi sono accorto che è un problema molto conosciuto e diffuso e che riguarda proprio l'incompatibilità tra questi due plugin.
Nelle discussioni dei forum che leggevo, e nei commenti sui blog c'era molta gente scoraggiata e disperata, e tra chi sostituiva will paginate e chi si rifaceva le query da solo, ho trovato per fortuna un'interessante risorsa che risolve il problema, e cioè un post nel blog Dead dead goog.

La soluzione è questa

Nel controller

Links.paged_find_tagged_with(params[:tag], :page => params[:page],
:per_page => @items_per_page)


Nel modello

def self.paged_find_tagged_with(tags,args = {})

if tags.blank?
paginate args
else

options = find_options_for_find_tagged_with(tags)

options.merge!(args)

paginate(options.merge(:count => {:select => options[:select].gsub('*','id')}))

end
end



Se qualcuno conosce un'altro sistema fatemi sapere.

Comments
0 comments
Do you have any suggestions? Add your comment. Please don't spam!
Subscribe to my feed

Posta un commento