Ruby on Rails開発のインターン (Day 32)

こんにちは、皆さん!

ついにインターンの最後の週がやってきた。結構な期間があったけど、やっぱりあっという間って感じだったね。
以前他の部のマネージャーが僕に新しいウェブサイトのデザインを準備しておくから、やってほしいと頼まれた。当時はまだ2週間あったからいいですよと答えたのだが、最後の1週間になった今、まだデザインが届かないのは果たしてどういうことだろうか...。今日もオフィスに行ってみると、そのマネージャーは来ていないし(笑)


  • トピック:
  1. CSVファイルをアップロードしてデータを作成する


  • 疑問:


  • 問題:


  • 学習した内容:
  1. CSVファイルを使ってRailsアプリにデータをインポートする


  • 今後やってみたいこと:
  1. CSVファイルのアップロードに関する記事を書く


  • リソース:
  1. How To Import CSV Files In Rails — Matt Morgante


CSVファイルをアップロードしてデータを作成する

あんなに簡単に.csvファイルをアップロードして、中のデータをRailsアプリにインポートすることができるだなんて知らなかった。

僕はただこのサイト通りにコードを書いただけでそれができた。このサイトは本当によくまとめられていると思う。

いずれ完全なRailsでの実装方法をまとめるつもりなので、ここではcsvファイルについて基本的なことを少し説明しようと思う。
最初に、このタイプのファイルの構造はエクセルと大変似ている。行と列があり、それぞれでできた枠の中に数値や文字を入れる。しかし、もし、VScodeなどの枠に対応しないエディターで開くと、それぞれの要素の間にコンマを入れて、違う枠に入っていることを示さなければならない。
いいことは表と同じようにそれぞれの列が何を表すのかを示すヘッターは最初の1行だけでいいということだ。

例えば下記のように

id,name,age
1,Alisa,18
2,Nick,23
3,Bob,21

# ヘッターの一つ一つの名称はデータベースのそれと完全に同じである必要がある#
VScodeで書いたときに上記のようなcsvファイルを書く。これで、もし、このファイルをアップロードしたのなら、アプリ内でそれぞれの行を1行ずつ処理し、与えられた年齢とともに3人のユーザーがデータベースに登録される。

これはユーザーにとっても、アプリの管理人にとっても、とっても便利な機能となるので、データを扱うのなら絶対に実装したい機能だといえるしょう。

まとめ

今日はこの記事で紹介した通りのcsvファイルアップロード機能を実装しようとした。しかしながら、ヘッターとデータベースの名称が違っていたため、この簡単な方の方法が使えないことに気が付いた。なので、めんどくさいけど、シニアのエンジニアが一つ一つたたき出した自作のコードでこれを実装することになった。それを使いたくなかった理由は少しコードが長いこと、そして、それのせいでコントローラーが見づらくなるのを防ぎたかったからだ。
仕事の後、家に帰ると、UBCでのパートタイムの仕事の面接を行いたいとメールが来ていた。前回たくさん応募したのに一つも返ってきたことがなかったし、学校という家に近いところで仕事ができるのですごく嬉しかった。うまくいくといいなーー!


ご精読ありがとうございました。では、また次回まで✌




Day 33はこちら↓↓
programming-shop.hatenablog.com


Day 31はこちら↓↓
programming-shop.hatenablog.com