Как сериализовать виртуальные атрибуты в рельсах 5 - PullRequest
0 голосов
/ 26 апреля 2019

Я хочу найти пару виртуальных атрибутов, определенных в моей модели, как показано ниже:

class User
  attribute :full_name, :string
  attribute :mobile,    :integer
  serialize :properties
end

Я хочу сохранить full_name и mobile в формате хэша в столбце свойств таблицы пользователей.Как я могу это сделать, пожалуйста, помогите.

1 Ответ

0 голосов
/ 29 апреля 2019

Если вам нужно сохранить эти два атрибута в столбце properties, вам сначала нужно убедиться, что столбец properties является текстовым столбцом.Затем добавьте следующее к вашей User модели.

serialize :properties, Hash

Затем добавьте обратный вызов, чтобы убедиться, что атрибуты построены правильно:

before_save :serialize_properties

private

def serialize_properties
  properties = { full_name: full_name, mobile: mobile }
end
...