1

「セクションに多くの要素がある」ようなリレーショナル テーブルを持つシナリオが得られたので、セクションに多くの要素があるような has_many リレーション モデルを使用することを考えました。

クライアントから、データを複数のテーブルではなく列内に JSON として保存するようにという提案がありました。

私はどのアプローチをとるべきか少し混乱しています。

提案は大歓迎です。

これが提案しているモデルです

例: セクション has_many 要素

表 : セクション

id  type                
1   page     

表:要素

id   type   content           section_id
1    text   <p>lipsum lipsum</p>     1
2    image  /images/test.png         1

クライアントの提案は、

id  type   content             
 1  page    {:text => "<p>lipsum</p>", image => "/images/test.png"}
4

2 に答える 2

0

データを単一のデータベース フィールドに JSON として格納することは、一般的にはお勧めできません。これは、SQL を使用してデータを操作/クエリできないことを意味します。これは、データベースにデータを保存するという点を無効にします。

あなたのsectionテーブルと とtextsのテーブルの間には 1 対多の関係をお勧めしますimagesこれは、Rails のbelongs_toおよびhas_manyアソシエーションによって実現できます。

とにかく、新しい表を作成しても、1 つのセクションに複数のテキストと画像がある場合にのみ役立ちます。セクションごとに 1 つのテキストと 1 つの画像がある場合 (例が示すように)、 、、、および属性を持つ 1 つsectionsのテーブルで問題ないでしょう。idtypetextimage

于 2013-11-10T20:56:10.513 に答える