Perhaps I'm an idiot and just don't get it, and perhaps this question has been asked a million times before, but I'm not really sure how to go about searching for an answer to it:
Why does my code Library.find(:all, :conditions => "user_id = #{session[:user].id}") return instead of nil when there are no results?
Because the docs say so
Find first: This will return the first record matched by the options used. These options can either be specific conditions or merely an order. If no record can matched, nil is returned.
Find all: This will return all the records matched by the options used. If no records are found, an empty array is returned.