bismoney
@bismoney

Rails мультисайт?

Подскажите что-то путевое, может ссылку или гайд.
Все перерыл, очень мало информации.

Хочется иметь одну админку на несколько сайтов, разные базы, вьюхи
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
@vsuhachev
Во-первых научитесь задавать вопросы. Что такое "мультисайт"? Гугл не гуглит ничего вразумительного по этому слову.

По теме:
Хочется иметь одну админку на несколько сайтов, разные базы, вьюхи

разные базы - теоретически это возможно, но практически неудобно (и не имеет особых примуществ). С разными БД ваше приложение должно обладать расширенными правами для создания этих баз, создания пользователей и выдачей им прав. Если предположить, что таблицы в каждой БД будут отличаться, то тогда как с этим будет работать общий код приложения?

Поэтому проще иметь одну заранее созданную базу 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы