CouchDB/Sofa:无法使用保存按钮创建新帖子(从默认模板)
我目前正在学习CouchDB,并使用O'Reilly的书作为入门指南。我一直在非常彻底地关注它,然而,在使用Sofa时,这本书要求我检查当我们在编辑模板上点击“保存”时会发生什么。这本书说我应该看到一个成功的响应(使用Firebug按钮触发Put请求),然而,我得到的却是一个“ {“error”:“not_found”,“reason”:“missing”在设计文档_design/sofa“}上显示函数new.html” 现在我这周才开始阅读,我知道答案可能是显而易见的,但如果有人至少能给我指出正确的方向(在沙发上添加,修复bug,补丁),那就太好了 我最初的猜测是,我需要添加一个“新”的shows函数,但我只是想在深入研究这一问题之前得到一些建议 对不起,如果这是一个noob问题CouchDB/Sofa:无法使用保存按钮创建新帖子(从默认模板),couchdb,couchapp,Couchdb,Couchapp,我目前正在学习CouchDB,并使用O'Reilly的书作为入门指南。我一直在非常彻底地关注它,然而,在使用Sofa时,这本书要求我检查当我们在编辑模板上点击“保存”时会发生什么。这本书说我应该看到一个成功的响应(使用Firebug按钮触发Put请求),然而,我得到的却是一个“ {“error”:“not_found”,“reason”:“missing”在设计文档_design/sofa“}上显示函数new.html” 现在我这周才开始阅读,我知道答案可能是显而易见的,但如果有人至少能给我指出
{“couchdb”:“欢迎”,“uuid”:“4d9b6082e16607a33dcbfdffb57503b5”,“版本”:“1.6.1”,“供应商”:{“版本”:“1.6.1”,“名称”:“Apache软件基金会”} 从()下载了最新版本的Sofa如何解决此问题 问题在于,该页面是从以下位置访问的:
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit
请改为从以下位置访问:
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit/
(您的数据库名称可能与“myblogdb”不同)。注意后面的反斜杠
解释为什么不需要名为“new”的show函数:
对show函数执行以下查询:
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit/This-is-a-second-post
这将调用edit.js中的函数,并以This-is-a-second-post
的\u id
传入文档(如果存在此类文档)。如果文档不存在,例如
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit/new.html
然后edit.js设置传递给Mustache.to_html
的数据
对象,以便为新帖子提供正确的字段
为什么它会在你的案件中破裂
当通过访问编辑显示功能时
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/edit
脚本的相关路径不再工作。
然后,edit.html中定义的脚本不再正确。
因此,提交处理程序
$("form#new-post").submit(function() { ...
不再被称为。如果调用它,它将在最后返回false
,这将阻止new.html被发布
由于未调用new.html,因此new.html最终会被发布,从而将浏览器重定向到
http://127.0.0.1:5984/myblogdb/_design/sofa/_show/new.html
它指向一个不存在的show函数,导致您看到的错误消息