Is it a better idea to have a single ViewModel per view or one per controller action?
Example:
public ProjectController : Controller
{
public Act
Neither. There's no silver bullet and shouldn't be.
The correct answer is therefore: use as many view models as your user interface process demands. That's regardless of views or controller actions.
Sometimes an action demands a view, other a view. But don't follow some strict guidelines that would hinder your development. View models will come naturally as you develop your application. And should. Otherwise you may end up with unreasonable views that are based on some guideline you've set in stone.
This is actually a similar answer as @DarinDimitrov's, but with a direct conclusion.