
テックアカデミーWebアプリケーションコースの第6回目となるメンタリング。今回はカラムのデータ型や検索可能なセレクトボックスについて書いています!
受講開始から23日経過してのメンタリングでした。進捗度としては、すでにオリジナルサービスに着手している状態です。
なので今回は、前回に引き続きオリジナルサービスを作成していく上でつまづいた部分に関する質問をしました。
【第6回目】テックアカデミーメンタリング内容
今回のメンタリング内容は、ざっとこんな感じ
- 検索可能なセレクトボックスの作りかた
- integerやstring、booleanといったカラムのデータ型
検索可能なセレクトボックスの作り方

新規投稿ページにある授業名を選択形式にしてドロップダウンメニューのような形で作るために、初期既定値をdb/seed.rb
で登録しておいて、f.collection_selectのフォームヘルパーを利用しています。
しかし、授業名が多すぎて、200以上の初期既定値を設定する必要があり、そうなるとユーザーが選択する際に大変だと思いました。
そこで、「選択する際に頭文字を打つとそれに関する項目がでてくるようにする何か良い方法はないか?」とslackで聞いたところ、オートコンプリートという方法があるらしいのですが、これを使うには、jOueryプラグインの導入やJavaScript側の知識が必要になってくるとのこと。
なので、とりあえず、授業名をもっと少なくし、一旦このサービスを完成させてから、機能を追加しようと思ったのですが、サービスを作り終わった後に追加した方がいいですかね?それとも、他の方法もありますか?

たしかに初期既定値200以上は多いですね。新たにモデルを作ってあげて、学部が選択されると、それに対応する授業名を選択できるというものにしてあげるのがいいかもしれません。
jQueryのプラグインを使うことにはなりますが、railsで検索可能なセレクトボックスのselect2を使う方法と記事があるのでこちらを参考に行えば上手くいくでしょう!
それか、授業名を10個にするなど数を減らして最初に完成させた後に追加するのでもいいですね。
カラムのデータ型

カラムのデータ型について質問です。ラジオボタンを選択させるものを作るためにデータ型を指定したは良いのですが、どのデータ型を選べばいいのかいまいち分かりません。
最初にboolean型という真偽値型のものを設定し、実際のボタンを選択したところ、値としてtrueが返されました。
trueやfalseではなく、文字列を値として返して欲しいのでstring型を指定して上手くいきましたが、はたしてこれで合っているのでしょうか?

間違いとは言えませんが、integer型(整数型)でカラムの型を指定した方が集計する際に楽ですね。
【まとめ】テックアカデミーメンタリング6回目
今回は、
- 検索可能なセレクトボックスの作りかた
- integerやstring、booleanといったカラムのデータ型
の主に2つについてでしたが、検索可能なセレクトボックスの作り方が想像以上に難しいですね。
ちょっと挫折しそうになりました…。2日後に再度メンタリングがあるので、その時までにある程度は完成させておきたいところです!

コメント