1

Rails や Django などの従来の Web フレームワークには、スキーマ (データベース内のテーブル) に対応する「モデル」に基づいて HTML フォームを生成する方法があります。

それは CouchDB でどのように機能しますか? (テーブルもスキーマもありません)

カスタム フォームを手動で作成し、それらを「モデル/スキーマ」として機能させますか? JavaScriptで定義された「モデル」はありますか? それは自動生成されたフォームを許可しますか? JSONドキュメントとして定義された「モデル」または類似のものはありますか?

また、従来の HTML フォームは、「キー」ごとに 1 つの値を持つ単一の「レコード」を処理します。JSON ドキュメントは、1 つのキーまたは別のネストされたドキュメントの下に値のリストを持つことができます! -- 従来の HTML フォームはそれを処理しません! JSON ドキュメント (既知の "doctype" のドキュメントであっても) には、"余分な" ( undefined ) フィールドが含まれる可能性があります。フィールドが欠落している可能性があります。期待されるものとは異なる型の値を持つフィールドが含まれる可能性があります。これらはすべて、従来の HTML フォームでは処理されません。

ユーザーが従来の HTML フォームよりも JSON ドキュメントと対話するためのより良い方法はありますか?

4

2 に答える 2

2

Kanso CouchApp フレームワークは、CouchDB 用の最も包括的なスキーマとフォーム生成ツールを提供します: http://kansojs.org

使用例についてはチュートリアルをご覧ください。スキーマ定義は、グループから作成され、CouchDB で動作し、埋め込みオブジェクトやその他の複雑な JSON のような構造を許可します。これは非常に柔軟な形式です (JSON スキーマよりもはるかに柔軟です)。

また、スキーマ定義からフォームを自動的に生成したり、カスタム フィールド、ウィジェット、バリデーター、権限などでこれらを拡張したりすることもできます。

于 2011-08-10T16:36:30.197 に答える
1

CouchDBはスキーマなしでjsonを保持しますが、プレゼンテーション側でjsonスキーマを定義できます。次に、このjsonスキーマをinputExにフィードして、フォームを作成できます。

ここを参照してください:http: //neyric.github.com/inputex/examples/json-schema.html

InputExは非常に柔軟性があり、配列、オブジェクト、およびプロパティの特別なエディターを処理します。jsonスキーマ標準が明確に定義されていないことを理解してください。CRUD操作を行うためだけに使用している場合は、問題ないはずです。

時間の経過とともに、フォームが進化してスキーマが変更された場合、couchdbは実際には重要ではありません。ただし、データを新しいスキーマに移行する方法をユーザーに提供する必要がある場合があります。

于 2011-08-10T16:30:16.660 に答える