Настраиваемая панель виджетов в Rails - PullRequest
1 голос
/ 29 марта 2011

В настоящее время я работаю над приложением Rails, которое позволяет пользователям добавлять «виджеты» на домашнюю страницу приложения при входе в систему. Эти виджеты будут состоять из каналов Twitter, каналов Flickr, других каналов RSS и т. Д. также будет административной областью, где администраторы могут добавлять / управлять виджетами, доступными для добавления пользователями. Кроме того, каждому приложению необходим свой собственный набор параметров, которые пользователь должен будет ввести при добавлении этого виджета (например, для твиттера требуется имя пользователя твиттера).

В течение нескольких дней я пытался понять, как должна работать логика, стоящая за этим. Сначала я думал о динамическом построении виджета на лету и сохранении всей информации о конфигурации виджетов / виджетов в таблицах базы данных, например:

Widgets
   - name
   - description
   - feed_url

Widgets Settings
   - widget_id
   - name 
   - field type (text, textarea, etc...)
   - required

User Widgets
   - user_id
   - widget_id

User Widget Settings
   - user_id
   - widget_id
   - widget_setting_id
   - value

Таким образом, в основном администраторы добавляли виджеты в таблицу модулей (например, Twitter), а затем добавляли поля конфигурации для этого модуля в таблицу настроек виджета (twitter_username). Но как связать параметры конфигурации с виджетом при их создании - вот где у меня проблемы.

Другим вариантом было бы жестко закодировать все и вставить его в каталог lib /. Но это убило бы всю гибкость / динамическую функциональность.

Похоже ли это на то, что оно работает?

Любой совет будет очень признателен!

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