post.create already runs the validations, you can do if @post.create here instead of @post.save.

Additionally, what happens if the post doesn't save? Should maybe redirect back and show an error message (check out flash in rails)