Zwracane tru lub false

Witam mam taki kod:

def download_accepted Development.find(:all, :joins => :requests, :conditions => ["requests.development_id = ? AND requests.user_id = ? AND requests.accepted IS TRUE AND expire > ?", params[:id], current_user, Time.now]) end
Bez względu czy pasują jakieś rekordy czy nie zawsze zwraca true.

Czy dobrze myślę, że true powinno być zwracane gdy liczba rekordów jest > 0. A False gdy liczba zwracanych rekordów = 0 ?

Pozdrawiam

find(:all) zwraca pustą tablicę jeśli nic nie znajdzie. Pusta tablica w Rubim jest “true”. find(:all) testuj przy pomocy #empty?

[code=ruby]col = Model.all

if col.empty?
…[/code]

Albo #blank? – fajna metoda railsowa która zwraca true zarówno dla nil, jak i pustych tablic (i stringów pustych lub składających się co najwyżej z białych znaków, itp. itd.).

W Ruby wartość false ma false i nil.
Z tego co wiem metoda find() zwraca pustą tablicę ([]) na pewno w przypadku :all.

Poprawcie, jesli się mylę ;>

http://rubyhoedown2008.confreaks.com/06-yosef-mendelssohn-lightning-talk-the-nature-of-truth.html :slight_smile: