Share and DRY up views between resources. Use with Inherited Resources.
Switch branches/tags
Pull request Compare This branch is 8 commits ahead, 20 commits behind fredwu:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Inherited Resources Views

Changes in this fork

  • Adding headings
  • Adding classes for ease of styling
  • Using .each_pair instead of .each for readability
  • Exclude id and timestamp columns (not very DRY)
  • Titleize attribute names
  • Extracting some parts of the views into partials to allow more fine-grained overriding


Using Inherited Resources is an excellent way to reduce the amount of repetition in your controllers. But what about views? A lot of times resources share the same views, so why not DRY 'em up using Inherited Resources Views!

Brought to you by Envato and Wuit.

Difference to Other Seemly Similar Projects

If you are confused about the difference to some other similarly named projects, please read on.

Difference to Inherit Views

Inherit Views adds the ability to render views from parent controllers. It does not share views between different resources.

Difference to Inherited Views

Inherited Views tries to solve the same problem we're solving, but from a slightly different angle. It is more complex, requires Formtastic and WillPaginate, and it only generates erb templates. Inherited Resources Views on the other hand, is extremely simple, is library-agnostic (it only depends on Inherited Resources), and it supports both erb and haml templates.


  • Add tests
  • Make default views more elegant and perhaps customisable



When using Rails 2, the generator only generates Erb templates, whereas using Rails 3 it generates Erb or Haml templates accordingly.


As a Rails plugin:

# rails 3
rails plugin install git://

# rails 2
script/plugin install git://

As a gem:

gem install inherited_resources_views


It is extremely simple to use Inherited Resources Views. The only step you need to do after the installation is to customise the default views:

# rails 3
rails generate inherited_resources_views

# rails 2
script/generate inherited_resources_views

# Please remember to restart your server!

This will generate a set of views in your app/views/inherited_resources folder. Edit away!


Copyright (c) 2010 Fred Wu (, released under the MIT license