Wraz z pojawieniem się Rails 3 – ActiveRecord dość mocno się zmieniło.
Zniknęło kilkanaście metod, któr dość często były wykorzystywane w ich
miejsce pojawiły się inne:

Natomiast zniknęły takie metody jak :

Metody, które najczęściej służyły do wyszukwiania w bazie rekordów nie
zostały przeterminowane i dalej są dostępne w Rails 3

Nasuwa się pytanie, której metody powinniśmy używać? find czy where,
przecież ten sam efekt uzyskamy gdy użyjemy:

jak i:

Item.where(:id => 283746).first

Pomiędzy tymi dwoma formułkami jest jedna subtelna różnica, w przypadku
gdy szukamy rekordu, którego nie ma w bazie, użycie where zwróci nam
nil. Użycie find natomiast rzuci błąd ActiveRecord::RecordNotFound
i przerwie wykonywanie dalszego kodu. Jeżeli tego błędu nie wyłapiemy to
pojawi się nam wspaniały stacktrace na ekranie.

Miejmy to na uwadze.
.