В рамках проекта Saint подготовлен инструментарий, который позволяет быстро и просто генерировать web-интерфейсы для управления данными в произвольных таблицах БД, путем создания каркаса на языке Ruby. Saint позволяет создавать любые HTML-поля на чистом Ruby, поддерживает любые типы ассоциирования таблиц, комплексные фильтры, встроенный файловый менеджер и другие полезные функции. Основная цель Saint - максимально упростить управление контентом определённых таблиц БД. Код проекта распространяется под лицензией BSD. Пример интерфейса, созданного на основании простого 100-строчного скрипта, можно оценить на данной странице.
Ниже приведён пример развёртывания административного интерфейса "в два клика". Для этого понадобиться Ruby 1.9.2 (или выше) и доступ к любому SQL-серверу, поддерживаемому в DataMapper (MySQL, SQLite, PostgreSQL и т.д.).
Для начала устанавливаем Saint:
$ sudo gem install saint
Потом создаём модель (на данный момент Saint поддерживает только DataMapper ORM):
class PageModel include DataMapper::Resource property :id, Serial property :name, String end
Дальше, создаём интерфейс:
class Page include Saint::Api http.map :pages saint.model PageModel saint.column :name end
Теперь надо лишь запустить приложение. Стоит отметить что Saint построен на основе фреймворка Presto, поэтому создаём приложение, монтируем в него Saint-интерфейс и запускаем:
app = Presto::App.new app.mount Page app.run
Данный интерфейс является демонстративно тривиальным, и позволят лишь создавать/редактировать/удалять объекты лишь одной таблицы БД. Но добавлять новые таблицы довольно просто и легко, так что можно довольно быстро построить интерфейс определённой сложности.