Я читал об использовании сериализации из ActiveRecord, и я думал, что понял, как его использовать, но мои попытки терпят неудачу, поэтому я не уверен, возможно ли то, что я хочу, таким образом?Я хочу хранить простой хеш, связывающий идентификаторы объектов, называемые начислениями, с количеством дней.Например, {"1" => "12", "5" => "24"}.Я настроил это следующим образом:
class User < ActiveRecord::Base
serialize :accrual_days, Hash
end
И для базы данных
def self.up
unless column_exists? :users, :accrual_days
add_column :users, :accrual_days, :text
end
end
Затем я вошел в консоль rails и ввел следующие команды:
User.find (1) .accrual_days
=> nil
User.find (1) .accrual_days = {"1" => "12"}
=> {"1" => "12"}
User.find (1) .accrual_days
=> nil
Похоже, что accrual_daysустановить, но тогда это не сохраняется.Я попытался сохранить пользователя после установки дня начисления и сохранить его в виде строки вместо текста в базе данных, но проблема сохраняется.Что я делаю не так?