From: 宮崎 詠二 <eiji / tm-21.com>
Subject: [ruby-list:45501] マルチパートフォームデータのescapeHTML
Date: Tue, 16 Sep 2008 12:21:29 +0900

るびきちです。

> 早速ですが、
> マルチパートフォームデータをcgiプログラムに受け取る際に一括してescapeHTML
> 処理をしたいのですがなかなかうまくゆきません。

マルチパートフォームデータの場合はStringの代わりにStringIOになっているので、
「.read」をつけくわえてみましょう。

> cgi = CGI.new
> 
> params.each{|key, val|
> 
> val = CGI.escapeHTML("#{val}")
> cgi.params["#{key}"] = ["#{val}"]
> 
> }

escapeHTMLはあくまでHTML出力時に変換すべきであって、cgi#paramsを上書きすべきではありません。

というか↑は「cgi.params.each」としないとparams変数がないと怒られますよね。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/