Assuming... - by list.rhml, you mean list.rhtml - there are a couple more lines in the view to close the </ul> and end the else block - you've verified that the books are in the development database ... something doesn't add up.
To find the bug, the first thing I'd do would be to put a raise or a breakpoint in the controller action to make sure it's being called. Like...
def list raise "yes, 'list' is being called." @books = Book.find(:all) end