Providing limited CRUD access to arbitrary tables through a

Hi There

I’m starting Rails a project for the first time (used to work with PHP).

I have to provide administrator (“super-user”) access to a large number
of tables. The access should be available through a web interface (the
tables rendered as HTML forms on the browser, probably through HTML
tables inside the form). From the CRUD set mostly R(etrieve) and
U(pdate) are relevant. However, sometimes the administrator would be
allowed to delete rows, and at other times he won’t. Also, he can’t
update all columns (for example, can’t change the auto-incrementing id
primary key). Important to note that the application is supposed to deal
with thousands of rows per table, which obviously cannot be retrieved
and displayed all together: there would need to be buffering of some
sort, to retrieve say rows 1-21 of table “people”, then allow the admin
to scroll to view 21-40.

Another desired - though not required - feature is for admin to be able
to retrieve and update tables with arbitrary inner joins. For instance,
he would view an “events” table, and within it he would have a person,
with her details taken from the “people” table. Morover he should be
able to not only transparently retrieve JOINed data but also update it.
(E.g. change the person’s phone number, affecting the “people” table,
although changing other fields in the very same HTML form would cause
change to a different table, the “events” table).

The most relevant existing tool for providing such functionality seems
to be Rails Scaffolds. Are they up to the task? Can they satisfy the
necessary (and maybe even the desired) requirements?

Tips on the best approach to this task with either scaffolds or other
tools would be welcome.

Cheers,
– George Penrose