【テックアカデミー】メンタリング7回目:seed-fuを使ったデータ投入

テックアカデミー第7回目メンタリング~seed-fuを使ったデータ投入、link_toのリンク先~ TechAcademy

テックアカデミーWebアプリケーションコース(8週間プラン)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を使うことで重複することはなくなります。ここら辺は少し難しいので、分からないことがあれば聞いてください!

 

手順としては、

  1. Railsで検索可能なセレクトボックスのselect2を使う方法を参考に、検索可能なセレクトボックスを作成。
  2. その後に上記のseed-fuを使って、データの投入。
  3. 余裕があれば授業を選択すると、それに対応した先生の名前から選択できるようにする。

という感じです。

 

link_toのリンク先

<%= link_to "削除", post, method: :delete %>

のpostはどういう意味なのかという部分に引っかかりました。初心者丸だしですね(笑)。

 

ここでのpostはリンク先として指定してあって、このpostのようにModelのインスタンス(レコード)を渡すと、自動的にそのインスタンスのshowアクションへとリンクされるようになる。省略せずに書くと、post_path(post)となる。

 

Modelのインスタンスを渡すことによって、showアクションに飛ばされるという訳ですね。

 

一気にカリキュラムを進めたということもあり、抜けている部分もあるので、復習しないとなあと感じました。

 

【まとめ】テックアカデミーメンタリング7回目

今回は検索窓に関する内容でした。具体的にはseed-fuを使ったデータの投入ですね。

 

メンターの方も、ここら辺は難しいと言っていたので気合いを入れて取り組みます!また11月にエンジニア1on1面談というものがあるので、それまでにはサービスを2つくらいは作っておきたいところです!

 

 

次回はこちら

【テックアカデミー】メンタリング8回目:Turbolinks、field_with_errors
テックアカデミーWebアプリケーションコース(8週間プラン)第8回目となるメンタリングの内容についてです。具体的には、検索可能なセレクトボックスが上手く表示されない問題や投稿に失敗した時にレイアウトが崩れる問題に対しての解説でした。

コメント