Problem z .find

Witam

 Mam takie polecenie: @Posts = Blog.find(:order => 'id desc')

i wyskakuje mi taki błąd:

[code]

ActiveRecord::RecordNotFound in MainController#index
Couldn’t find Blog without an ID

//a w konsoli Webrick:

ActiveRecord::RecordNotFound (Couldn’t find Blog without an ID):[/code]
A po prostu chcę pobrać wpisy do bloga w odwrotnej kolejności dodania. W czym może tkwić błąd? Dodam że Blog.all działa.

Metoda find potrzebuje dwóch parametrów, pierwszy z nich to ID obiektu, który chcesz pobrać lub symbol (:first, :last, :all).

Blog.all

to nic innego jak wywołanie Blog.find(:all)
.

W celu pobrania wszystkich wpisów z odpowiedniej kolejności możesz wywołać

Blog.all(:order => 'id desc')

albo Blog.find(:all, :order => 'id desc')
.

Użycie

@Post

również nie jest zbyt ładne – nazwy zmiennych pisze się raczej małymi literami:

@post

Dzięki

Co język i co framework to inna konwencja.

:slight_smile:

Od wersji Railsów 2.3 można też przy modelu założyć domyślne sortowanie.
Dzięki temu nie musisz wpisywać order przy każdym zapytaniu.