ほんの数週間前にCouchdbを初めて使用しましたが、 sofa [whatandapp]というcouchdbアプリのクローンを作成しました。一週間でうまくいきましたが、今日突然何かに出くわしました。
ここで、Sofaアプリを参照して、タイトルなしで投稿を作成しようとすると、「ドキュメントを保存できませんでした。データベースを作成できませんでした。ファイルは既に存在します。」という 警告ボックスが表示されます。ソースを見ると奇妙でした。require(validate_doc_update.jsで カスタムjsonエラーを返す)は、この形式{"forbidden":message})のように、キーとしてforbiddenを使用していることがわかりました。
v.forbidden = function(message) {
throw({forbidden : message})
};
v.require = function() {
for (var i=0; i < arguments.length; i++) {
var field = arguments[i];
message = "The '"+field+"' field is required.";
if (typeof newDoc[field] == "undefined") v.forbidden(message);
};
};
validate_doc_update.jsで
if (newDoc.type == 'post') {
if (!v.isAuthor()) {
v.unauthorized("Only authors may edit posts.");
}
v.require("created_at", "author", "body", "format", "title");
返されたjsonがjsonとは異なることが判明した応答状態を調べると、上記の validate_doc_update.js のrequire関数によって返されます。ここにjson {"error": "file_exists"、 "reason":"データベースを作成できませんでした。ファイルは既に存在します。"}
これにより、validation_doc_update.jsの検証は、ドキュメントの更新中にのみ実行されると考えられます。
この点を証明するために、タイトルのないドキュメントを更新しようとしています。エラーが返されることを期待していますが、驚くべきことに、ドキュメントは保存されたばかりです。
だからここに私が上で述べたすべてのポイントに関する私の質問があります
validate_doc_update.jsの「検証」はドキュメントの更新中にのみ機能しますか
if YES
then
how can I manage to succeed in updating a post without the error [Weird bypassing the Validation Completely] . + How can execute validation on create of a document
if NO
then
What is the Error {"error":"file_exists","reason":"The database could not be created, the file already exists."} that is prevent a document to be saved
ここにリストされているすべての質問に光を当ててください。