Сохраняя хеш как строку, исправьте это позже - PullRequest
1 голос
/ 17 марта 2012

Я хочу иметь возможность сохранить хэш params [: object] в текстовом поле таблицы черновиков, чтобы сохранить этот хэш и вытащить его позже. Я хочу знать, возможно ли это сделать, чтобы позже я получил хеш с функциональностью.

Прямо сейчас, когда я сохраняю сообщение здесь, у меня есть следующая строка:

 @draft = user.drafts.build(:content => params[:post])

Это сохраняет хэш params [: post] как:

 "--- !map:ActiveSupport::HashWithIndifferentAccess \ntitle: asdfasdfasdf\ncontent: \"\"\ndiscussion_id: \"87\"\ndraft: \"false\"\n"

Если я найду черновик (т.е. d = Draft.find (1)), а затем попытаюсь извлечь этот хеш, я просто получу строковое значение здесь.

Есть ли способ, которым я могу преобразовать это в хеш? Или есть лучший способ сохранить хэш params?

Спасибо

1 Ответ

1 голос
/ 17 марта 2012

Проверьте метод класса serialize в ActiveRecord::Base:

class Draft < ActiveRecord::Base
  serialize :content, Hash
end

Это должно сэкономить изрядное количество времени, если вы сделаете это сами!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...