« 「キテレツ」「げあらか」 | トップページ | ニョキニョキ »

チェックボックスで範囲指定したい

 1 から 10 までの数字を表示させて、それぞれにチェックボックスを設定。ボタンで送信すると値としてそれぞれの数字が送られるとする。

 送られた数字の最大と最小を探して、たとえば 1 と 5 であったとしたら、(1..5).each do |num| ・・・ といった処理をして [1,2,3,4,5]  となるような結果を得たいと思っている。

 ひとまずチェックされた数字をすべてとりだして、
 start_num = チェックされた集合.sort[0]
 end_num = チェックされた集合.sort.reverse[0]
 といったかんじで最大と最小は得られたのだけれど、それらを使って連続した数字の集合を生成しようとしてもエラーになってしまう。(データベースのデータからなので to_i しないと文字として処理されてしまうというのもあるようだ。また、そもそも (start_num..end_num).each という書き方そのものが認められるのかもよく分かっていないのではあるけれど)

 で、アジャイル本を見ているとカートの作成ということで、データベースと関連付けないので ActiveRecord のサブクラスにしないで class を作るといったことがあって、これかな? ということでやってみたが、なんだかうまくいかない。

 最終的にはこれらデータベースから得た数字を比較したり、足したり引いたりしなきゃならないのだけれど、そうしたことにも影響するのだろうか。いまひとつそのあたりの理解が不足している。

#チェックボックスの問題そのものは、ひとまず必要なすべてをチェックすることで対処してはいるのだけれど、量が多くなると煩雑な作業になるのは否めないので、対策があればとは思うのだが・・・。

追記:0412
 「Rubyプログラミング入門」をパラパラと眺めていたら、最大・最小は max min がすでに用意されていることを知る。おまけにあれやこれやと知らずにいたことが発見され感服。必要は発明の母。

|

« 「キテレツ」「げあらか」 | トップページ | ニョキニョキ »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: チェックボックスで範囲指定したい:

« 「キテレツ」「げあらか」 | トップページ | ニョキニョキ »