I think Ruby on Rails view inheritance is underused and underrated. Here's a great piece by @apotonick on it:

December 28th, 2010 at 6:08 pm @Rami: Your example still suffers from a DoubleRenderError which is why Cells were invented 4 years ago. So, Cells are derived AbstractController s as well and use “native” rails methods as described in the blog post. However, Cells streamline the process of having reuseable controllers throughout your app (as it should be in a real MVC framework) and provides additional features like clean caching and using #params in your cell, which is not possible in your example. Don’t get me wrong – Cells is nothing special and I really hope that cells becomes superseded by a clean and refactored rendering API in Rails in the near future!