はじめまして。竹洞と申します。


Ruby 1.8.1をSlackware9.1上で使用しています。
HTMLのフォームで、

<input type="checkbox" name="settingOption" value="mta">MTA
<input type="checkbox" name="settingOption" value="dns">DNS
<input type="checkbox" name="settingOption" value="account">Account
<input type="checkbox" name="settingOption" value="ml">ML

と記載し、RubyのCGIでform = CGI.newして、これらのどのチェックボックスに
チェックが入っているか値を得ようとしています。

form['settingOption'].each do |i|
    print "#{i}\n"
end

として、全てのチェックボックスにチェックを入れてform['settingOption']の
配列の値を表示させると、

mta
mta
mta
mta

と表示され、一番目のチェックを外し、他の三つにチェックを入れると

dns
dns
dns

と表示されます。

私が欲しい結果は、

mta
dns
account
ml

なのですが、form['settingOption'].each do |i| という書き方では取り出せ
ないのでしょうか?

どなたかご教授頂けると幸いです。
よろしくお願いいたします。

---------------------------------------------------------------------
竹洞 陽一郎
yoichiro / takehora.jp