我正在尝试将文件放在带有WEB_DAV的网站上。(红宝石)
当我按照示例进行操作时,我得到一个 nil 异常
#### GEMS
require 'rubygems'
begin
gem "net_dav"
rescue LoadError
system("gem install net_dav")
Gem.clear_paths
end
require 'net/dav'
uri = URI('https://staging.web.mysite');
user = "dave"
pasw = "correcthorsebatterystaple"
dav = Net::DAV.new(uri, :curl => false)
dav.verify_server = false
dav.credentials(user, pasw)
cargo = ("testing.txt")
File.open(cargo, "rb") { |stream|
dav.put(urI.path +'/'+ cargo, stream, File.size(cargo))
}
当我运行这个时,我得到
`digest_auth': can't convert nil into String (TypeError)
这与我的 nav.rb 文件中的第 197 行有关。
request_digest << ':' << params['nonce']
所以我想知道的是我没有添加什么步骤?有没有正确使用这种宝石的合理例子? 做一些有效的事情会很甜蜜:)
附带问题:这是用于执行web_DAV的正确宝石吗? 它似乎是一个古老的未维护的宝石,也许有更多的人用来完成任务?
尝试用符号而不是字符串引用哈希,即
request_digest << ':' << params[:nonce]
在一个简单的测试
巴兹 = "巴兹" params = {:foo => "bar"} baz <<':' <<params['foo']
导致与您得到的错误相同的错误。