Мы работали над проектом ruby, включающим пользователей, личные сообщения и любые связанные с сетью функции.
У нас уже есть система предпочтений, которая позволяет пользователям описывать себя.Цвет волос, стиль одежды, рост, вес, форма, хобби и т. Д.
Мы сталкиваемся с тем, что какой-то список опций (содержимое поля со списком) должен редактироваться пользователем-администратором и переводиться на многие языки (мы уже используем классическую поддержку yml для i18n в Rails 3).
Администраторы хотят добавить описания пользователей.
Например, представьте, что у вас есть модель пользователя с: датой рождения, текущимгород, почта, имя пользователя
У нас уже все готово с has_many и связанными таблицами с именами предпочтений.Мы используем семена, которые содержат:
стиль волос:
- длинный
- короткий
- полудлинный
hair_color:
- красный
- белый
- коричневый
- черный
- блондин
eye_colors: - коричневый - зеленый - желтый - синий
Теперь администратор хочет добавить розовый цвет к цвету волос и серый к свойству eye_colors.Кроме того, он хочет, чтобы настройки / описания были хорошо переведены для французских пользователей, и поэтому он должен перевести их.
Подводя итог, у нас есть две проблемы:
- на летуи немодельные предпочтения описаний привязки (мы знаем, что список будет становиться все больше и больше, у многих появится идея)
- перевод этого описания, поскольку мы не можем использовать yml-файлы здесь.
Мы будем рады услышать от вас!надеюсь, что кто-то нам поможет.
PS: уже прочитали это: Лучший подход к сохранению пользовательских настроек?
Rails: Как мне моделировать предпочтения?Должен ли я использовать has_many: through?
и обнаружил, что:
https://github.com/pluginaweek/preferences https://github.com/huacnlee/rails-settings-cached
Я также нашел это: http://code.lancepollard.com/posts/the-missing-rails-key-value-gem
и мне было интересно, будет ли интересно получить от него вдохновение.
Я также прочитал это: http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002284
И нашел это: http://blog.project -sierra.de / archives / 1379
Но мне интересно, как можно динамически создавать пользовательские настройки?