[ruby-list:45504] Re: マルチパートフォームデータのescapeHTML

From: 宮崎 詠二 <eiji@...21.com>
Date: 2008-09-16 05:26:35 UTC
List: ruby-list #45504
るびきち様 有り難うございます。

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

下記のように「.read」をつけくわえてみましたがどうもうまくゆかないようで
した。

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

}

そもそもマルチパートフォームデータを上書きすること自体がよくないのでしょ
うか。

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

あらかじめタグ処理したものを保存して出力時にはいつでも安心して使用できる
ようにと思ったのですが良くないようですね。



> 
> > 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/
> 



In This Thread