Nokogiri を使用して HTML ドキュメントを解析しています。コードには、次のようないくつかの画像が含まれています。
<a href="http://url_to_big_photo.jpg"><img alt="alternative-text" border="0" height="427" src="http://url_to_my_photo.jpg?" title="Image Title" width="640"></a>
その画像を S3 ストレージに保存し、スタイルを変更してリンクを削除しようとしています。すべての画像には、css タグ「.post-body img」が含まれています。
これまでのところ、私が得た最も近いものはこれです:
@doc.css(".post-body img").each do |image|
@new_photo = Photo.create!(
#Params required to save and upload the photo to S3.
...
...
)
# The url of the photo upload to S3 is @new_photo.photo.url
image['src']= @new_photo.photo.url
image['class'] = "my-picture-class"
image.parent['src] = '#'
puts image.parent.content
@doc.to_html
end
これにより、大きな写真へのリンクが削除されますが、明らかに良い解決策ではありません。
http://rubyforge.org/pipermail/nokogiri-talk/2009-June/000333.htmlで提案されているように、 image.parent << image を使用して親を置き換えようとしましたが、何もしませんし、 image.parent =画像は「ノードを再親化できませんでした (RuntimeError)」を返します