Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Net/HTTP创建特定的cURL_Ruby On Rails_Ruby_Riak - Fatal编程技术网

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?这是一条比较容易走的路。