13

Rails4.2 と Postgres4.1 で新しい jsonb 機能を使用することを検討しています。

ユーザー プロファイル (つまり、スキル セットなど) を表すモデルを作成し、すべてを単一の jsonb データセットに格納することを考えていました。

したがって、テーブルは次のようになります。

id int
profile jsonb
timestamps

基本的に、すべてのプロファイル データを次のように jsonb 構造に格納できると考えていました (これは単なる例/概念です)。

{
  "basics": {
    "name": "John Doe",
    "label": "Programmer",
    "picture": "",
    "email": "john@gmail.com",
    "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"
  }],
}

私の質問は、この構造に書き込み/読み取りを行う基本的な Rails フォームを作成するにはどうすればよいですか? 従来のリレーショナル テーブルのセットに対してそれを行う方法は理解していますが、以下のような柔軟な構造にすべてが移行できる場合にどのようにアプローチすればよいかわかりません。

_form.html.erb とコントローラの new/create/edit アクションで何が起こるでしょうか?

4

2 に答える 2