
テックアカデミーWebアプリケーションコース7回目のメンタリング。今回は、seed-fuを使ったデータ投入についての内容です!
オリジナルサービスの方は、ログイン機能や、投稿機能、フォロー機能、お気に入り機能などは完成しました!
あとは、コメント機能やDM機能を追加する予定なのですが、その前に第6回のメンタリングの内容でもあったselect2を使った検索機能で躓いていた段階です。
【第7回目】テックアカデミーメンタリング内容
今回のメンタリングの内容は、「seed-fuを使って初期データを入れる」です。また、これだけでは短すぎるので、自分が躓いたところについても書いています。
seed_fuを使って大量の初期データを入れる

前回のメンタリングでは選択できる授業名を少なくして、まずは公開、その後に修正という方針だったのですが、やはり選択できる数を増やしたいと思っています。何か方法はあるでしょうか?

そうですね…。CSVファイルからデータを投入するのが良いかもしれません。
railsで初期データを入れる(seed-fuの使い方)、seed-fuで関連付け (アソシエーション)のある初期データを作成する。
この2つの記事を参考にすればデータの取り扱いが楽になるでしょう。
またこのメリットとしては、重複がなくなるということですね。config/seed.rb
に初期既定値を書いた場合はrails db:seed
を繰り返すと同じデータが生成されますが、seed-fuを使うことで重複することはなくなります。ここら辺は少し難しいので、分からないことがあれば聞いてください!
手順としては、
- Railsで検索可能なセレクトボックスのselect2を使う方法を参考に、検索可能なセレクトボックスを作成。
- その後に上記のseed-fuを使って、データの投入。
- 余裕があれば授業を選択すると、それに対応した先生の名前から選択できるようにする。
という感じです。
link_toのリンク先
<%= link_to "削除", post, method: :delete %>
のpostはどういう意味なのかという部分に引っかかりました。初心者丸だしですね(笑)。
ここでのpostはリンク先として指定してあって、このpostのようにModelのインスタンス(レコード)を渡すと、自動的にそのインスタンスのshowアクションへとリンクされるようになる。省略せずに書くと、post_path(post)となる。
Modelのインスタンスを渡すことによって、showアクションに飛ばされるという訳ですね。
一気にカリキュラムを進めたということもあり、抜けている部分もあるので、復習しないとなあと感じました。
【まとめ】テックアカデミーメンタリング7回目

今回は検索窓に関する内容でした。具体的にはseed-fuを使ったデータの投入ですね
メンターの方も、ここら辺は難しいと言っていたので気合いを入れて取り組みます!
また11月にエンジニア1on1面談というものがあるので、それまでにはサービスを2つくらいは作っておきたいところです!

コメント