Virtus Gem, Rails. Как я могу использовать массив тегов (строк) в ключе хеша?

Вопрос, связанный с Virtus Gem, Рубин на рельсах. Я сохраняю хэш в столбце postgres с помощью hstore. Затем сериализация столбца в пользовательской модели

serialize :dating_preferences, UserDatingPreferences

Класс UserDatingPreferences ниже, есть также другие атрибуты, помимо наименований. Я только что опубликовал деноминации здесь -

class UserDatingPreferences
  include Virtus.model

  attribute :denominations, Array[String], default: []

  def self.dump(preferences)
    preferences.to_hash
  end

  def self.load(preferences)
    new(preferences)
  end
end

Он показывает ответ датирования, как показано ниже, массив строк, а затем еще один массив в строке

"dating_preferences": {
   "denominations": [
        "[]"
    ]
 }

После сохранения вроде

user.dating_preferences.denominations = ['u00o','yo']
user.save!

Ответ выглядит как

"dating_preferences": {
            "denominations": [
                "[\"u00o\", \"yo\"]"
            ]
        }

Это можно сделать как показано ниже?

"dating_preferences": {
            "denominations": [ "u00o", "yo"]
        }

0 ответов

Другие вопросы по тегам