Youtubeでプログラミング独学方法を解説!

Progate Railsコースが修了してからの学習項目を解説します【ポートフォリオの穴を埋める】

こんにちは、けんぞうです。
ProgateのRailsコースが修了した後の学習すべき知識について具体的に解説します。

結論としては以下のツイートの通りです。

ProgateRailsコースが終わってから学ぶべき知識


繰り返しですが、上記の画像に記載されているキーワードについての追加学習がおすすめです。

デプロイ

Progateで実装したもの、もしくは自分で作ったWebアプリを他の人にも使ってもらおうと思うと、デプロイする必要があります。
また転職活動でのポートフォリオとして利用した等、第三者に見てもらいたい場合には、デプロイはマストです

デプロイにはHerokuを使う方法が初学者にとっては、一番躓きにくいフローでしょう。詳しい方法は以下の記事で解説されています。

参考 【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】Qiita

form_with

ユーザーの新規登録、ユーザー情報の更新のところを、form_tagからform_withに置き換えましょう。

理由としては後述するActive storageを導入する際には、form_withの方が都合が良いからです。さらに現時点では、form_tagよりもform_withを使う方が主流です

Progateで実装したコードをform_withに置換している際には色々とエラーが出ると思いますが、解決策についてはQiitaに寄稿しておいたので、詰まった時はご覧ください。

参考 連日格闘したform_withとの戦いに決着をつけてきたQiita

Active Storage

ActiveStorageは簡単にファイルをアップロードできる機能です。

ProgateのコースではUserテーブルにファイル名を挿入することで画像を表示させていたと思いますが、このやり方だとデプロイ後に画像が表示されない問題が生じます。

ActiveStorageを使って実装をしておくことによって、後述するAWSS3に画像を保存することが可能になります。詳しい実装方法は以下のQiita記事をご覧ください。

参考 【Rails 5.2】 Active Storageの使い方Qiita

AWSS3

Herokuは画像の保存に対応してくれていないので、自分でAWSと連携させて画像を保存できるよう実装する必要があります。

Active Storageを使った画像の保存先としてAWSS3を指定すると、デプロイした後でも画像を表示させることができます。

参考 【Rails】AWS S3を使ってHerokuで画像を投稿できるようにする方法Qiita

テスト

Progateではテストの実装については解説されていませんが、テスト実装についてもある程度理解しておいた方が良いでしょう。

テストの実装を含めると工数がかさばるので、すぐにポートフォリオを用意したい人は後回しでも良いでしょうが、機能を追加実装していくと目視で挙動を確認する方が手間になってきたりするので、長期的な目線ではテストは実装した方が良いです。

Rspecを使ったテストの実装については、「現場で使える Ruby on Rails 5速習実践ガイド」で具体的に学ぶことができます。

Ajax

Ajaxは画面をリロードすることなく更新を行うことができて、ユーザーの使い勝手を向上させることができます。

具体的には以下のツイートの15秒以降で「投稿削除」を実行しているのですが、ここでは画面がリロードされていないことが分かるはずです。

Ajaxの仕組みについても「現場で使える Ruby on Rails 5速習実践ガイド」で学習することができますので、こちらの書籍で学習し、ご自身の制作物に反映させていくのが良いかと思います。


まとめ

▼Progateが終わってから学習すべき項目

  • デプロイ
  • form_with
  • ActiveStorage
  • AWS
  • テスト
  • Ajax

後半2つは後回しでも良いかと思いますが、それ以外は「転職でポートフォリオとして使いたい」とお考えでしたら実装する事をおすすめします。

以上です。