2009-12-11 2 views
0

Я создаю новое приложение на основе Rails, которое будет иметь учетные записи, подобные Basecamp, для каждого поддомена. Каждой учетной записи (клиенту/клиенту) должно быть разрешено хранить различные настройки, такие как цветовая схема, их поддомен, предпочтительный механизм аутентификации и т. Д.New Rails App - Управление настройками учетной записи

Итак, как мне обрабатывать настройки для каждой учетной записи, чтобы я мог легко добавить новые настройки позже, применимые ко всем учетным записям? Примеры или идеи о том, как создавать объекты и отношения (т. Е. Много-ко-многим), были бы замечательными. Кроме того, если у вас есть хорошие статьи, я бы очень признателен за ссылку на них. Это приложение должно быть высокопрофессиональным, и я хочу убедиться, что я получу некоторые из этих основных вещей прямо перед тем, как перейти в оставшуюся часть проекта.

Большое спасибо!

ответ

1

Этот question адресует аналогичную ситуацию. Это сформулировано несколько иначе. Но если вы сопоставляете описание вопроса с продуктом с одним из ваших поддоменов, оно по-прежнему очень актуально. Вы не являетесь явным, но при сравнении с basecamp я предполагаю, что у каждого субдомена будет свой собственный набор пользователей, у которых также есть свои собственные настройки. Параметры, которые не могут быть глобальными для вашего приложения. Связанный вопрос также относится к этому вопросу.

Я вижу, что это лучше всего работает как отдельная таблица для настроек поддомена.

С индексом в столбце, связывающим его с клиентом/клиентом/идентификатором пользователя, а другой - с субдоманином.

Каждый вариант, который влияет на проект субдомена, получает столбец в этой таблице. На загрузке страницы просто найдите строку для поддомена в таблице перед фильтром, и все должно идти относительно гладко. Добавление новых глобальных параметров прост. Просто переместите еще один столбец на эту таблицу с соответствующим значением по умолчанию.

+0

Спасибо за ответ. Я прочитал этот пост, и я знаю, что, возможно, я слишком усложнил свой вопрос. Все, что я действительно спрашивал, было для чистого, расширяемого способа настройки. Кажется глупым для каждого клиента иметь параметр colorscheme, если я знаю, что у каждого клиента будет параметр colorscheme. Я предполагаю, что я пытаюсь найти способ для чистого разделения настроек, чтобы его легко было кодировать, но также легко модифицировать. –

Смежные вопросы