belongs_to and order

Two tables: Users (id, username) Books (id, name, user_id)

User has_many :books and Book belongs_to :user

How can I order Books by username?

@books = Book.all.order(user.username) ???

@books = Book.includes(:user).order('users.username').all

-or-

@books = Book.includes(:user).all.sort_by {|book| book.user.username }

the first gets the database to return the books in the username order

The second gets the books as ruby objects, then uses the sort_by method to do the ordering.

-Rob