ruby net_dav示例put

时间:2012-12-03 23:18:38

标签: ruby-on-rails exception webdav null

我正在尝试使用WEB_DAV将文件放在网站上。 (红宝石宝石)

当我按照这个例子时,我得到一个零例外

#### 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']

所以我想知道的是我没有添加什么步骤? 是否有正确使用此宝石的合理示例?做一些有用的东西会很甜蜜:)。

SIDE QUESTION:这是用于执行web_DAV的正确宝石吗?它似乎是一个古老的未维护的宝石,也许有更多的东西用于完成任务?

1 个答案:

答案 0 :(得分:0)

尝试使用符号而不是字符串引用哈希,即

request_digest << ':' << params[:nonce]

在简单的测试中

baz =“baz”    params = {:foo =&gt; “酒吧”}    baz&lt;&lt; ':'&lt;&lt; PARAMS [ '富']

会导致与您相同的错误。