Why isn't postgres prompting me about a new user?
First, let's understand how createuser works, run this command and take a look at the results:

&gt; createuser --help


Will you see a lot of information, by those the most important for you now is the following...

This one is what makes PostgreSQL ask for a password for this new user:

-P, --pwprompt            assign a password to new role


This one is the one that will make this user able to create a new database (notice you didn't used it):

-d, --createdb            role can create new databases


At the bottom, you will have a group of arguments:

Connection options:
  -h, --host=HOSTNAME       database server host or socket directory
  -p, --port=PORT           database server port
  -U, --username=USERNAME   user name to connect as (not the one to create)
  -w, --no-password         never prompt for password
  -W, --password            force password prompt


These ones are used to connect to PostgreSQL's instance, which means that, to create a new user you will have first to connect to PostgreSQL using an already existent user that is able to create another. On a default installation the only user you have is postgres, so to connect you have to use it as -U postgres. Depending on your pg_hba.conf configuration, the createuser utility will ask for the password of postgres user.

With all these information, you should be able to know how to create your new user:

&gt; createuser -U postgres -e -P -d NewUserName


OBS: -e is not necessary, but is good to learn what is happening behinde the scenes.

Afeter that all, you probably can create a new database using rake db:create. Perhaps you will need to edit pg_hba.conf, but I think this is a new topic.