Suggestions on how to support user-customizable views and forms?

I've searched the archives and googled and can't find much on this. I
need to allow an app admin to be able to define the layout of various
views (and eventually various forms). The admin should be able to
specify a row and column number for each field they want presented

I'm thinking a view could look something like this:

  <% = @layout.title %>
  <br />
    <% @layout.rows.each do |row| -%>
       <% row.columns do |col| -%>
          <td><strong><%= col.label %></strong></td>
          <td><%= col.model.send(col.method) %></td>
      <% end -%>
    <% end -%>

The "col" object contains the field's label, db model class name, and
model method (could be a column attribute or any model instance
The "row" object, so far, is just an array of col objects.

I don't have the db design for this yet either.

Thanks for any and all suggestions.