Virtus Gem, Rails.Как я могу использовать массив тегов (строк) в ключе хеша? - PullRequest
0 голосов
/ 20 сентября 2018

Вопрос, связанный с 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"]
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...