Ответ 1
Sinatra уже "VC" - у вас есть виды, отделенные от ваших маршрутов (контроллеров). Вы можете разбить его на несколько файлов, если хотите; подробнее об этом см. в этом ответе (мой):
Использование Sinatra для больших проектов через несколько файлов
Чтобы добавить "M" (модель), выберите базу данных. Некоторым людям нравится ActiveRecord. Некоторым людям нравится DataMapper. Есть еще много, из которых вы можете выбрать. Я лично люблю и очень рекомендую Sequel. Мой ответ, приведенный выше, также предлагает структуру каталогов и оболочку для включения моделей. Как только вы распределите соответствующую логику между вашими моделями и контроллерами, у вас есть ваш "MVC".
Обратите внимание, что MVC - это не отдельные файлы, а разделение проблем. Если вы настроили приложение Sinatra, как я предлагаю выше, но у вас есть данные, полученные из ваших моделей, или у вас есть маршруты, непосредственно генерирующие HTML (а не через "помощника" ), то у вас действительно нет MVC. И наоборот, вы можете сделать все вышеперечисленное в одном файле и все еще иметь приложение MVC. Просто поместите свою логику целостности данных в свои модели (и что более важно, в самой базе данных), вашу логику представления в своих представлениях и многократные помощники и вашу логику отображения в ваших контроллерах.