[quote=Tommy]masz jeszcze jedną zagwozdkę, czy ma ktoś pomysł jak do tego zaczepić jeszcze limit
[code=ruby]actor = Actor.find(1, :include => :movies, :order => “movies.year DESC”)
jakis kod
actor.movies.each { |movie|
iteracja
}[/code]
proste wpisanie :limit (np) => 10, nie zdaje egzaminu, :order chodzi pięknie[/quote]
Limit nie działa ze względu na ograniczenie (błąd?) ActiveRecord. W SQL-u to działa zgodnie z oczekiwaniami.
Należy porzucić pomysł zrobienia tego jednym zboczonym findem. ActiveRecord i tak wykonuje dwa zapytania do bazy. Najpierw pyta się o ID aktorów (tu aplikuje limit), a potem o całą resztę (tu już nie aplikuje).
Proponuję zwykłe:
actor = Actor.find( 1 )
movies = actor.movies.find(
:order => 'year DESC',
:limit => 10,
:offset => 10 * page )
Na marginesie - szkoda, że nie operujemy na Twoim oryginalnym problemie, bo przykład z filmami i aktorami tutaj nie pasuje.