Witam,
Zakładając ze obiekt osoba ma listę np. ulubionych fimów a ta lista jest naprawdę spora i chcemy pobrać tylko 10.
Normalnie użyłbym obiekt.filmy aby dostać się do listy. Jak powinno pobierać się taką listę gdy jest ona długa i chcemy tak jak wyżej, np tylko 10 rekordów?
obiekt.filmy.find(:all, :limit => 10)
W tym momencie (tj. przy obecnej implementacji AR) jedyne sensowne co możesz zrobić w tym względzie to napisać własną metodę w klasie Osoba, która wywołuje metodę find_by_sql klasy Film.
Możesz spróbować poniższy kod:
def films_limited(limit)
Film.find_by_sql("select * from films where osoba_id = #{self.id} limit #{limit}")
end
Edit
Rozwiązanie Radarka, jest oczywiście bardziej sensowne 