1

我在 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 时才会出现问题?

4

1 回答 1

1

一个区别是您的 URL 现在包含一个问号。如果您在 shell 中不保护 URL,它将被解释为特殊字符。

如果您想要一种更简单的方法来测试您的服务,您可以使用RESTClient而不是curl.

于 2012-11-03T18:54:46.567 回答