Во-первых научитесь задавать вопросы. Что такое "мультисайт"? Гугл не гуглит ничего вразумительного по этому слову.
По теме:
Хочется иметь одну админку на несколько сайтов, разные базы, вьюхи
разные базы - теоретически это возможно, но практически неудобно (и не имеет особых примуществ). С разными БД ваше приложение должно обладать расширенными правами для создания этих баз, создания пользователей и выдачей им прав. Если предположить, что таблицы в каждой БД будут отличаться, то тогда как с этим будет работать общий код приложения?
Поэтому проще иметь одну заранее созданную базу c универсальной структурой таблиц, в каждой таблице колонку site_id и фильтровать все данные по этой колонке.
Разные вьюхи - это делается достаточно просто с помощью prepend_view_path
class ApplicationController < ActionController::Base
before_action :detect_site
def detect_site
@current_site = Site.find_by(host: request.host)
prepend_view_path "app/views/sites/#{@current_site.name}"
end
helper :current_site
end
Если хотите хранить шаблоны в БД - поглядите
panoramic