2013-07-23 1 views
2

У меня есть модель портала. Каждый пользователь получает свой собственный портал. Теперь пользователь может настроить различные строки на нескольких страницах на этом портале, чтобы показать своих клиентов. В целом около 50 строк, и средний пользователь меняет свои значения по умолчанию на около 7 из них.Где вы должны хранить много настраиваемых строк в RoR?

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

Есть ли лучший способ для этого?

ответ

1

Зачем нужна отдельная таблица для каждой страницы? Очень вероятно, что условия будут разделяться между страницами, и когда вы добавите новую страницу в приложение, вам придется добавить новую таблицу ?? !!

Я предпочитаю просто иметь одну таблицы с «термином» бытием значения, используемым в вашем HTML, а другие предпочтения пользователя

 
table user_strings (
    user_id int not null 
    term varchar not null 
    val varchar not null 
    primary key(user_id, term) 
    foreign key (user_id) references user(id) on delete cascade 
    index (term) 
) 

Если вы не используете составные первичные ключи, затем добавьте значение по умолчанию

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