Ruby on rails 使用Net/HTTP创建特定的cURL
我有一个旋度,从终端运行时可以很好地工作,但我需要它是动态的,所以我需要从我的模型中调用它Ruby on rails 使用Net/HTTP创建特定的cURL,ruby-on-rails,ruby,riak,Ruby On Rails,Ruby,Riak,我有一个旋度,从终端运行时可以很好地工作,但我需要它是动态的,所以我需要从我的模型中调用它 curl -XPUT -H "content-type:application/json" http://localhost:8098/riak/demo2 -d '{"props":{"precommit":[{"mod":"riak_search_kv_hook","fun":"precommit"}]}}' 这是我到目前为止得到的结果,但它不起作用,没有错误,响应是空的。我不希望返回任何内容,但这
curl -XPUT -H "content-type:application/json" http://localhost:8098/riak/demo2 -d '{"props":{"precommit":[{"mod":"riak_search_kv_hook","fun":"precommit"}]}}'
这是我到目前为止得到的结果,但它不起作用,没有错误,响应是空的。我不希望返回任何内容,但这应该会创建一个新的Riak
bucket,但它不会。正如我所说,我已经在我的终端上进行了测试,它工作得很好,它按照预期创建了bucket
require "net/http"
require "uri"
uri = URI.parse("http://localhost:8098/riak/dg1_logs")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.content_type = "application/json"
request.body = '{"props":{"precommit":[{"mod":"riak_search_kv_hook","fun":"precommit"}]}}'
response = http.request(request)
p response.body
更多详细信息
我正在使用Riak
,我需要在我的客户端bucket上启用Riak搜索
,并且只能运行此cURL。我需要使其动态化,这样当我的客户创建一个新帐户时,我已经使他的bucket能够搜索
我使用的是Ruby 1.9.3,我认为问题可能是在curl示例中,Ruby示例中使用了HTTPPUT和POST
顺便说一句,如果您使用比net/http API更容易使用的东西,那么您可以省去一些痛苦
最后,我认为从模型发出HTTP请求不是一个好主意(假设您指的是AR模型),您可能应该创建一个单独的对象来处理它。为什么不使用Ruby的OpenURI?这是一条比较容易走的路。