Paginate modello senza tabella nel db

Ciao,

sto provando a paginare un mio modello, ma sino ad ora senza successo e
con comportamenti quantomeno anomali.

nel mio controller eseguo questo codice per paginare il mio modello.

@travels_pages, @travels = paginate :my, :per_page => 2

per far ciò ho ridefinito il metodo find del mio modello come segue.

def self.find(*args)

@travels = []

@t = Travel.find_by_sql("SELECT
travels.*,count(travel_comments.travel_id) as comments " +

"FROM travels left join travel_comments on travels.id =
travel_comments.travel_id " +

"group by travels.id " +

“ORDER BY created”)

@t.length.times do |n|

@travels[n] = My.new

@travels[n].add_travel(@t[n])

Location.find(:all,:conditions => [“travel_id = ?”,@t[n].id]).each do
|loc|

@travels[n].add_location(loc)

end

@travels[n].add_duration(@travels[n].locations[@travels[n].locations.length-1].departure

  • @travels[n].locations[0].departure)

end

return @travels

end

il fatto strano è che nella vista la variabile @travels contiene tutti i
record quando ne dovrebbe contenere due per pagina, inoltre
@travels_pages non contiene niente, cioè non è nil ma non ha manco le
pagine.

Che sbaglio?

Saluti Andrea