How should I rename my current file in Vim?
For example:
person.html_erb_spec.rbperson         
        Another way is to just use netrw, which is a native part of vim.
:e path/to/whatever/folder/
Then there are options to delete, rename, etc.
Here's a keymap to open netrw to the folder of the file you are editing:
map <leader>e :e <C-R>=expand("%:p:h") . '/'<CR><CR>
You can also use :f followed by :w
The command is called :saveas, but unfortunately it will not delete your old file, you'll have to do that manually. see :help saveas for more info.
EDIT:
Most vim installations have an integrated file explorer, which you can use for such operations. Try :Explore in command mode (I would actually map that to a function key, it's very handy). You can rename files with R or delete them with D, for example. But pressing <F1> in the explorer will give you a better overview.
:!mv % %:h/new_name
Register % contains the name of the current file.'%:h'shows the directory 'head' containing the current file, e.g.: %:hreturns /abc/def when your file full path is abc/def/my.txt
How about this (improved by Jake's suggestion):
:exe "!mv % newfilename" | e newfilename
sav person.haml_spec.rb | call delete(expand('#'))