我在 iriscouch.com 上托管我的 Couch 实例,并使用 CouchRest 模型使用简单的 Sinatra 应用程序进行一些测试。
这是我正在使用的一个简单模型:
class User < CouchRest::Model::Base
property :first_name, String
property :last_name, String
timestamps!
design do
view :by_first_name
end
end
我成功地创建了新用户:
User.create(:first_name => "Stonewall", :last_name => "Jackson")
执行User.by_first_name.all
此 HTTP 请求的结果:
http://test_admin:pwd@testytest.iriscouch.com:80/blt/_design/User/_view/by_first_name?include_docs=true&reduce=false
"Accept"=>"application/json"
"Accept-Encoding"=>"gzip, deflate"
"Content-Type"=>"application/json"
这是由 RestClient 通过 CouchRest 执行的。那里没有问题。
但是当我尝试访问curl
这个 URL 时,我收到了 Couch 关于include_docs
参数的投诉:
{"error":"query_parse_error","reason":"Query parameter `include_docs` is invalid for reduce views."}
我想了解这里发生了什么。为什么include_docs
只有在使用 curl 时才会出现问题?