Я рассматриваю возможность использования новой возможности jsonb в Rails4.2 и Postgres4.1.
Я хотел создать модель, которая представляет профиль пользователя (например, наборы навыков и т. д.), и сохранить все это в одном наборе данных jsonb.
Таким образом, таблица будет иметь:
id int
profile jsonb
timestamps
Я думал, что могу хранить все данные профиля в структуре jsonb следующим образом (это всего лишь пример/концепция):
{
"basics": {
"name": "John Doe",
"label": "Programmer",
"picture": "",
"email": "[email protected]",
"phone": "(912) 555-4321",
"website": "http://johndoe.com",
"summary": "A summary of John Doe...",
"location": {
"address": "2712 Broadway St",
"postalCode": "CA 94115",
"city": "San Francisco",
"countryCode": "US",
"region": "California"
},
"profiles": [{
"network": "Twitter",
"username": "john",
"url": "http://twitter.com/john"
}]
},
"skills": [{
"name": "Web Development",
"level": "Master",
"keywords": [
"HTML",
"CSS",
"Javascript"
]
}],
"languages": [{
"language": "English",
"fluency": "Native speaker"
}],
}
Мой вопрос: как мне создать базовую форму рельсов, которая будет писать/читать в эту структуру? Я понимаю, как это сделать с традиционным реляционным набором таблиц, но не знаю, как подойти, когда все это может быть объединено в гибкую структуру, как показано ниже?
Что произойдет в _form.html.erb и в действиях контроллера new/create/edit?