Topic: variation in models and views

I'm not sure if this should go here or in db design...

A web application (not on Rails) uses a data-abstraction layer. For example, a Persons table doesn't have explicit column names but instead has"property value" and "property name" columns so that different organizations can have different fields. The fields are configured by loading XML files to map the properties for a given organization. In this way of the thinking, the data is "vertical".

What kind of strategies or best practices do folks use with Rails to keep things DRY while still allowing variation in models and views while still keeping things all under one app? I'm just looking for a high-level view.