我正在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
此网址时,我收到Couch对include_docs
参数的投诉:
{"error":"query_parse_error","reason":"Query parameter `include_docs` is invalid for reduce views."}
我想了解这里发生了什么。为什么include_docs
仅在使用curl时出现问题?
答案 0 :(得分:1)
一个区别是您的网址现在包含问号。如果您不保护shell中的URL,它将被解释为特殊字符。
如果您想要一种更简单的方法来测试服务,可以使用RESTClient代替curl
。