この記事では、テックアカデミー(Webアプリケーションコース)のメンタリング第6回目の内容について書いています。
今回は、カラムのデータ型や、検索可能なセレクトボックスについてです。
Webアプリケーションコースを受講し始めて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回目を終えて|まとめ
ここまで、テックアカデミー(Webアプリケーションコース)のメンタリング6回目の内容について書いてきました。
内容としては、
- 検索可能なセレクトボックスの作り方
- integer や string、boolean といったカラムのデータ型
についてでしたが、検索可能なセレクトボックスが思っているよりも実装が難しかったです。
次回は、第7回目です!
テックアカデミーのWebアプリケーションコースを終えての記事も書いているので、よかったら見てみてください!

コメント