Я не уверен, что понимаю, почему вы говорите, что он не подходит для модели Rails.
Если это просто сложная структура данных, просто сохраните кучу кода Ruby в текстовом поле в базе данных: -)
Если, например, у вас есть сложный вложенный хеш, который вы хотите сохранить, присвойте текстовое поле «данные» следующее:
ComplexThing.data = complex_hash.inspect
Если вы хотите прочитать его обратно, просто
complex_hash = eval ComplexThing.data
Позвольте мне указать еще 2 вещи об этом решении:
- Если ваша структура данных не является стандартными классами Ruby, простая проверка может этого не сделать. Если вы видите где-то # , что-то не сериализуется должным образом.
- Это наивная реализация. Возможно, вы захотите проверить реальные решения для сортировки, если вы рискуете получить данные в кодировке Unicode или если вы действительно сохраняете много пользовательских классов.