ruby打开URL并进行救援

atm*_*ell 4 ruby ruby-on-rails

我想检查一下我的旧网站上是否存在一些URL,并收集返回404的URL.

@paintings = Painting.find(:all)
@paintings.each do |painting|
  open("http://www.mydomain.com/" + painting.user.username.downcase + "/" + painting.permalink)
   rescue OpenURI::HTTPError
     @failure += painting.permalink
   else
     @success += painting.permalink
   end
  end
Run Code Online (Sandbox Code Playgroud)

嗯,我无法通过救援方法来获取错误

syntax error, unexpected kRESCUE, expecting kEND
      rescue OpenURI::HTTPError
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Sha*_*ell 20

看起来你已经忘记begin了开放之前:

 begin
  open("http://www.mydomain.com/" + painting.user.username.downcase + "/" + painting.permalink)
 rescue OpenURI::HTTPError
   @failure += painting.permalink
 else
   @success += painting.permalink
 end
Run Code Online (Sandbox Code Playgroud)