- Your controller action should ideally expose only one instance variable to your views - the presenter.
- Back each view or partial with its own presenter.
- Rendering partials within partials means your presenters can return other presenters for these partials.
- If your view requires an author and the current user, provide that to your presenter - don’t make your presenter navigate through an item to get the author.
- Write your view first, assuming no knowledge of how our domain is modelled, then write the presenter to drive it.
- Prefer composition over inheritance.
- Presenters shouldn’t know about CSS class names.