У меня такая же ситуация, как и у вас, пользовательские настройки.В моих приложениях я предпочитаю создавать модель для хранения конфигурации пользователя, у меня есть Модель пользователя и Модель 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
плюсы: - пока у меня нет проблем, легко обслуживать
минусы: - запросить больше таблиц в базе данных
Может быть, это поможет вам, спасибо.