1

Webを検索しても解決策が得られないため、stackoverflowで問題を記述します。RoutingErrorの質問と回答はたくさんありますが、私にとって興味深いものは何もありません。

これは私のエラーです:

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

私のコントローラーでは、他のサーバーからHTMLページをフェッチします。このHTMLページには、画像とリンクが含まれています。

ビューはこのHTMLページを適切にレンダリングしますが、画像は表示されません。これらの画像もどこでどのようにレンダリングするのですか?どこでどのように画像hrefhttp :// 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: リンクがリンクのテキストに置き換えられます。適切な正規表現を使用すると、画像の 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 に答える