1

现在我在stackoverflow上写我的问题,因为搜索网络并没有带来任何解决方案。虽然有很多 RoutingError 问题和答案,但对我来说没有什么有趣的。

这是我的错误:

ActionController::RoutingError (No route matches [GET] "/kwiki/download/thumbnails/4687717/IP49120-low.jpg"):

在我的控制器中,我从其他服务器获取 HTML 页面。此 HTML 页面包括图像和链接。

该视图很好地呈现了这个 HTML 页面,但没有图像。我在哪里以及如何注意渲染这些图像?在哪里以及如何图像 href http:// localhost:3000 /kwiki/download/thumbnails/4687717/IP49120-low.jpg替换为http://example.com /kwiki/download/thumbnails/4687717/IP49120-low .jpg?

提前致谢

4

1 回答 1

0

要修改您获取的 HTML 页面,您可以使用Nokogiri。这将 mailto: links 替换为链接的文本。使用合适的正则表达式,您可以执行类似的操作来更改图像 URL。

 doc = Nokogiri::HTML(open('http://www.example.com'))
 doc.css("a").each do |a|
   unless a['href'].present? && a['href'].starts_with?('mailto:')
     a.replace(a.content)
   end
 end
于 2012-12-04T15:44:57.890 回答