2015-04-08 14 views
5

Ho 3 tavoli PostText, PostImage e PostVideo. Ora sto combinando i dati di tutte le tre tabelle precedenti in un singolo array chiamato userposts.Come specificare limite e offset nell'array nei binari?

Ora da userposts voglio accedere solo 10 record a cominciare Offset 15.

Come posso fare questo?

Ho provato userposts.first(10). Mi dà i primi 10 record ma voglio 10 record a partire da offset-15.

grazie in anticipo.

risposta

10

È necessario utilizzare il metodo ary[start, length] → new_ary or nil.

..returns un sottoarray a partire dalla partenza dell'indice e proseguendo per lunghezza elementi,

userposts[10, 15] 
+2

Sembra che stia utilizzando una query, però, se è quindi 'userposts.offset (15) .limit (10)' sarebbe meglio –

+0

@japed Hai ragione .. Ma da _ .. da tutti i tre precedenti tabella in un singolo ** arr ay ** chiamato userposts._ Posso inferire quello che ho risposto .. :) –

+0

@japed mi dà un errore che metodo 'offset' non definito per una matrice. – sank

10

userposts.drop(15).first(10) vi aiuterà a

+0

Funziona su un array normale, non solo sugli array di relazioni ActiveRecord. : +1: –

Problemi correlati