みたにっき@はてな

三谷純のブログ

Ruby

ちょいとWebアプリもどきを作ろうかと思って開発に着手したのですが、勉強も兼ねて今までに経験したこと無い言語Rubyを使ってみることにしました。
オブジェクト指向言語と言うし、わりと枯れているようだからまぁ大丈夫だろうと思ったのですが。。
うわーん、なんか慣れるまでが大変。if や for, while などの制御構文を一から学習し直し。でもって、ドキュメントがとっても少ない・・。
ということで予想外に悪戦苦闘してしまいました。
ほんのちょっとフォームから取ってきた情報を取得したいだけなのに、そんな方法すら見つからない。。特にチェックボックスのように変数名が同一の場合、配列で値を取りたいのだけど、その解法がどこにもみあたらないのですよ。ホントに。
バージョンが1.6から1.8になった時点でCGIがらみも大きく変わったそうで。
というわけで、30分もかかって(T-T、ようやくわかった方法は次の通り。
同じような内容で悩んだ方(いるかな?)参考にしてください。

require "cgi" # Ver1.8 からは "cgi-lib"に代わって"cgi"を使う
input = CGI.new

values = input.params['param_name'] # 配列で取得する場合はparamsを使う

for i in values # 配列に格納された各値を取得する
    # i に対する処理
end