Каков предпочтительный способ реализации настроек в приложении Ruby on Rails 3? - PullRequest
5 голосов
/ 20 апреля 2011

Я создаю приложение Rails 3, которое будет иметь пользовательские настройки (внешний вид, функциональность и т. Д.), И я искал несколько простых советов о том, какой предпочтительный способ на самом деле реализовать настройки.

Вы предпочитаете иметь специальную модель для этого материала? Допустимы ли хеши для хранения в поле базы данных? Вы предпочитаете куки или сеансы над базой данных? Является ли объект ИППП лучшим?

Возможно, перечислите некоторые плюсы и минусы для каждого метода, если можете.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 20 апреля 2011

У меня такая же ситуация, как и у вас, пользовательские настройки.В моих приложениях я предпочитаю создавать модель для хранения конфигурации пользователя, у меня есть Модель пользователя и Модель User_configuration, где отношение один к одному.

class User < ActiveRecord::Base
  has_one :user_configuration
end

class UserConfiguration < ActiveRecord::Base
  belongs_to :user, :dependent => :destroy
end

Или, если вы предпочитаете использовать Hash и сохранить его в базе данных, можно пометить ваше поле как сериализованное

class User < ActiveRecord::Base
  serialize :preferences, Hash
end

, вы можете увидеть его в http://api.rubyonrails.org/classes/ActiveRecord/Base.html

плюсы: - пока у меня нет проблем, легко обслуживать

минусы: - запросить больше таблиц в базе данных

Может быть, это поможет вам, спасибо.

2 голосов
/ 20 апреля 2011

Если вам нужно какое-то структурированное решение, вы можете посмотреть:

  1. Конфигурируемый движок
  2. или rails-settings
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...