одна установка Rails для нескольких приложений - PullRequest
0 голосов
/ 04 февраля 2010

Можете ли вы иметь одну установку Rails, а затем использовать ее для нескольких приложений.Например, я хотел бы иметь следующую структуру:

siteroot/app1 (rails)
siteroot/subsite1 (regular static html site)
siteroot/app2 (rails)
siteroot/subsite2 (regular static html site)

и т. Д. *

Какая лучшая практика для этого?

Ответы [ 2 ]

2 голосов
/ 04 февраля 2010

Это может быть технически возможно, но это определенно не поддерживается или не предназначено. Соглашение по конфигурации, помните. Когда вы создаете новое приложение Rails через rails appdir, вы создаете одно приложение, и все, что есть, является частью этого одного приложения. Это не установка Rails. Ваша установка Rails в другом месте отключена (/ var / lib / gems для меня), и весь этот код, который составляет Rails, будет совместно использоваться несколькими приложениями.

Короче говоря, лучшая практика - это два отдельных приложения в двух отдельных каталогах. На самом деле нет никаких причин для объединения двух приложений. Если им нужно совместно использовать ресурсы или базу данных, это должно быть одно приложение с разными контроллерами или два отдельных приложения с общим кодом, перешедшим в библиотеку или плагин.

0 голосов
/ 04 февраля 2010

Rails - это просто фреймворк, построенный на основе языка Ruby.
Похоже, вы спрашиваете, как использовать один сервер с установленным Rails для обслуживания нескольких приложений Rails. Поэтому вам нужно запустить веб-сервис для каждого приложения:

siteroot/app1 $ script/server -p 80 -e production (+ option for daemonize server, I forget)  
siteroot/app1 $ cd ../app2  
siteroot/app2 $ script/server -p 81 -e production (+ option for daemonize server, I forget)  

Я немного смущен вашими "подпапками". Почему они являются вспомогательными приложениями, почему они не могут отображаться с помощью того же веб-сервиса, который обрабатывает основное приложение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...