Я создаю сайт, на котором есть определенные пользователем страницы, состоящие из набора виджетов.
Виджеты довольно просты, похожи на те, что вы найдете в Blogger. Некоторые виджеты предназначены для сбора / форматирования данных с базовой структурой (списки, таблицы), а другие предоставляют более сложные функции (блог, фотоальбомы и т. Д.)
Я хочу позволить пользователю выбрать, какие виджеты появляются на их странице, и изменить их порядок.
Я думал о том, чтобы виджеты были STI (например, BlogWidget, GalleryWidget), и каждый экземпляр Widget имел бы fkey user_id и позицию для сортировки.
Тогда пользователь show.html.erb будет содержать:
for widget in current_user.widgets
render widget
end
Есть ли лучший способ?