Как поддерживать атрибуты модели, созданные пользователем (Rails 3.1)

#ruby-on-rails #ruby #ruby-on-rails-3

#ruby-on-rails #ruby #ruby-on-rails-3

Вопрос:

В моем приложении есть модель пользователя и модель игры. Я хочу, чтобы каждый пользователь мог добавлять свой собственный набор игровых атрибутов (которые доступны / видны только им) помимо тех, которые у меня уже есть предопределенные.

Каков наиболее «рельсовый» способ решения этой проблемы?

Ответ №1:

Вы будете хранить настройки для каждого пользователя в таблице соединений между User и Game , и тогда ваша связь между этими двумя моделями будет a has_many :through — это означает, что у вас будет модель соединения, предоставляющая вам доступ к атрибутам.

Ответ №2:

Я бы посоветовал вам использовать сериализацию:

Преимущества:

  • он очень гибкий и встроенный

  • вы можете хранить данные так, как хотите (даже свой пользовательский класс)

Недостаток:

  • будет сложно получить ваши данные обратно из базы данных, если вы окончательно измените свой веб-фреймворк.

Больше документов смотрите здесь.