我目前正在学习CouchDB并使用O' Reilly书作为入门指南。我一直非常关注它,但是,在与沙发合作时,这本书要求我检查当我们点击“保存”时会发生什么。在我们的编辑模板上。这本书说我应该看到成功的回复(使用Firebug按钮触发Put请求),但是,我得到了一个"
{"错误":" not_found","原因":"缺少在设计doc _design / sofa"上显示功能new.html }"
现在我才开始阅读本周,我知道答案可能很明显,但是如果有人能够指出我正确的方向(在沙发中添加,修复错误,补丁),这将是很好的。
我最初的猜测是我需要添加一个" new"显示功能,但在我深入研究这种疯狂的追逐之前,我只是想要一些建议。
对不起,如果这是一个菜鸟问题。
{" CouchDB的":"欢迎""的uuid":" 4d9b6082e16607a33dcbfdffb57503b5""版本":& #34; 1.6.1""供应商" {"版本":" 1.6.1""名称":& #34; Apache软件基金会"}}
下载最新版本的沙发答案 0 :(得分:1)
问题是该页面是从以下网址访问的:
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit
取而代之的是:
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit/
(您的数据库名称可能与' myblogdb'不同)。请注意尾随反斜杠。
将以下查询带到show函数:
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit/This-is-a-second-post
如果存在这样的文档,这将调用edit.js中的函数并使用_id
This-is-a-second-post
传入文档。如果文件不存在,如
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit/new.html
然后edit.js设置传递给data
的{{1}}对象,以获得新帖子的正确字段。
通过
访问编辑节目功能时Mustache.to_html
脚本的亲戚路径不再有效。 然后edit.html中定义的脚本不再正确。 因此,提交处理程序
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit
不再被调用。如果它被调用,它最后会$("form#new-post").submit(function() { ...
,这会阻止new.html被发布。
由于未调用,new.html最终会被POST,并将浏览器重定向到
return false
指向不存在的show函数,导致您看到的错误消息。