【Railsチュートリアル】つまずいたことまとめ
僕はRailsチュートリアルを完走しました。
Railsチュートリアルで学習していると様々な壁にぶつかります。
Railsチュートリアルが難しいと言われているのは本当だと、僕も思います。
しかし、Ruby on Railsを学習したいと思ったらRailsチュートリアルは必ず通ることになるかと思います。
「必ず通る」のに難しいとか言われたら正直イヤなはずです。
そこで、今回はRailsチュートリアルについて主に以下のことをまとめたいと思います。
- どんなことにつまずいたか
- どう解決したか
以下のような方、向けの記事となります。
- Rails初心者である
- Railsチュートリアルをやっていて、何かしらつまずいた
- Railsチュートリアルで、すでに悪戦苦闘した経験談を聞きたい
もくじ
Railsチュートリアルでつまずいたこと
ここからは、僕がRailsチュートリアルでどんな壁にぶつかってどう解決したかを各章ごとにまとめたいと思います。
全ての章で壁にぶつかったわけではありません。
理解できなかった部分は「壁にぶつかった」とは僕は考えません。
僕はRailsチュートリアルを大部分理解していません…。
初心者なので…。
エラーが発生して、「アプリケーションを作る上で先に進めなくなった」ことを「壁にぶつかった」と考えることにします。
今回僕が学習したのはRailsチュートリアル第6版です。
僕はRailsチュートリアル第5版で一度挫折済みです…
1年越しで第6版に挑戦することになりました。
2020年12月現在、Railsチュートリアル第6版は第1章から第3章までは無料で読めます。
第4章以降は有料で、税抜980円のようです。
支払いはクレジットカードのみのようです。
第1章
第1章は開発環境構築から始まります。
「AWSのCloud9を使用するのがおすすめ」と書かれています。
AWSとは、Amazonが提供するWebサービスです。
AWSの中には色んな種類のサービスがあります。
その中の一つがCloud9です。
Cloud9はWeb上でコード編集ができるエディタです。
Amazonのアカウントを持っていても、新たにAWSのアカウント作成が必要です。
AWSアカウントの作成方法はこちらです。
Cloud9でワークスペースというものを作って、そこでコードを書いていくことになります。
このワークスペースはAWSアカウントを作成してから1年間無料で使えるようです。
ここで僕が抱いた疑問はこちらです。
1年後以降はお金かかるの?
結論から言うと、1年後以降はお金かかります。
「Railsチュートリアルで学習したいけど、AWSでどれくらいお金かかるのか気になる」という方にはこちらの記事がおすすめです。
第2章
🎓第6版 #Railsチュートリアル の第2章を走破しました! https://t.co/ZyAGYWwvir @RailsTutorialJP
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 3, 2020
バージョン管理がBitBucketからGitHubに変わっているのでありがたいです。
医療従事者がRuby on Railsを学んだらどうなるのか実験中😌
この章で引っかかる部分は特にありませんでした。
Twitterに書いたBitBucketというのは第5版で解説されています。
GitHubの代わりとなるものです。
第6版を学習する上でBitBucketについて知る必要はありません。
第1章の時点で、GitHubのアカウントを作っている状態になると思います。
GitHubのアカウントを作ってあれば、第2章はスムーズに進めます。
第3章
🎓第6版 #Railsチュートリアル の第3章を走破しました! https://t.co/ZyAGYWwvir @RailsTutorialJP
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 4, 2020
AWS Cloud9で使えるショートカットキーはVScodeと異なっている部分があります。
ググってもなかなか情報が見つかりませんでした。
AWS Cloud9で「同一文字列選択」(Mac)
control + option + →
僕はこの章あたりで、Cloud9のクセに悩まされました。
僕が使い慣れているエディタはVisual Studio Codeです。
Railsチュートリアルの第3章では、同じ文字列をまとめて選択したい場面が出てきます。
Visual Studio Codeなら、同じ文字列をまとめて選択するときは、まず一つ文字列を選択してから以下のショートカットキーを使います。
command + D (Mac)
Ctrl + D (Windows)
※Visual Studio Codeの場合
Cloud9では上記のショートカットキーを押すと、その文字列を含む1行が全部消えます。
Cloud9で同じ文字列をまとめて選択するときは、一つ文字列を選択してから以下のショートカットキーを使います。
control + option + 右矢印 (Mac)
Ctrl + Alt + 右矢印 (Windows)
※Cloud9の場合
第4章
🎓第6版 #Railsチュートリアル の第4章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 5, 2020
$ nano ~/.irbrc
このコマンドでちょっとつまりました。
ファイルを保存するか聞かれて “y” キーを押した後はEnterを押すとnanoエディタから抜けられました。https://t.co/ZyAGYWwvir @RailsTutorialJP
コマンドラインで以下のようなコマンドを打つ場面があります。
$ nano ~/.irbrc
その後、↓のようなコードを書いて、control + Xを押します。
そして保存するかどうかを聞かれて、”y”キーを押します。
そしたら「nanoエディタから離脱できる」と、Railsチュートリアルには書かれています。
ですが、↓のような状態になって離脱できていません。
ここでは、”Enter”キーを押すことでnanoエディタから離脱できます。
小さいところですが、この章ではここでつまずきました。
第5章
🎓第6版 #Railsチュートリアル の第5章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 8, 2020
bootstrapの適用に苦戦…
cssの自動生成が原因でした。
custom.scssを保存した時に自動生成されるcustom.cssを削除すればサイトが上手く表示されます。https://t.co/ZyAGYWwvir @RailsTutorialJP
僕がRailsチュートリアルで一番つまずいたのがこの章です。
custom.scssというファイルを作成して編集する場面があります。
custom.scssを保存して、ブラウザでプレビューしてみると上手く表示されませんでした。
↓のように、変なエラーがブラウザ上に表示されました。
ググってもなかなか解決策が見つかりませんでした。
ですが、なんとか解決できました。
こちらの記事で解説しております。
もし、Railsチュートリアル第5章をまだやっていない人は読んでみてください。
第6章
Cloud9上で生成したアプリケーションファイルの中に、「development.sqlite3」というファイルがあります。
第6章の中で「development.sqlite3をローカルにダウンロードする」と指示されるので、その通りにします。
development.sqlite3の中身を見るために必要なアプリ(ソフト)があります。
「DB Browser for SQLite」というアプリ(ソフト)です。
DB Browser for SQLiteのダウンロードサイトへのリンクはこの第6章の中にあります。
念の為、こちらにもリンクを置いておきます。
>>DB Browser for SQLiteのダウンロードサイトへ
このサイト最初見ると、「どこからDB Browser for SQLiteをダウンロードするんだ?」ってなります。
下にスクロールしていくと、なんか西暦が出てきます。
その下に「Version 〜 released」って書いてあるところがあります。
最新バージョンを選ぶといいみたいです。
するとダウンロードのリンクが並んだページにたどり着きます。
WindowsかMacかに合わせてダウンロードすればいいです。
インストールは難しくありません。
インストールしたDB Browser for SQLiteで、development.sqlite3を開くことができるはずです。
ですが、最初開けませんでした。
僕はMacを使っています。
Macが、インストールしたDB Browser for SQLiteを不審なアプリと認識してしまうようです。
Macの設定が必要です。
やり方はこちら。
システム環境設定
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 10, 2020
↓
セキュリティーとプライバシー
↓
「一般」タブ
↓
ダウンロードしたアプリケーションの実行許可:
↓
“DB Browser for https://t.co/wv3Ug4qdCW“は開発元を確認できないため、使用がブロックされました。→「このまま開く」
これでdevelopment.sqlite3が開けるようになる。
システム環境設定
↓
セキュリティーとプライバシー
↓
「一般」タブ
↓
ダウンロードしたアプリケーションの実行許可:
↓
“DB Browser for SQLite.app”は開発元を確認できないため、使用がブロックされました。→「このまま開く」
これでdevelopment.sqlite3が開けるようになる。
第7章
🎓第6版 #Railsチュートリアル の第7章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 14, 2020
僕はWordPressでブログ運営しています。
ドメイン購入の際にSSL証明書取得の経験をしました。
WordPressでのブログ運営は、Webアプリケーション制作を学習する上でも役に立ちそうです。https://t.co/ZyAGYWwvir @RailsTutorialJP
第7章では特につまずくことはありませんでした。
指示された通りにコードを書きました。
第8章
🎓第6版 #Railsチュートリアル の第8章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 15, 2020
この辺りで「ヘルパーって何だ?」という疑問が強くなりました。
ヘルパーが最初に出てくるのは第4章です。
ヘルパーとは
「自作のメソッドを定義する場所」
という理解で次に進みます。https://t.co/ZyAGYWO6H1 @RailsTutorialJP
この第8章に至るまで「ヘルパー」というものが多用されてきます。
「ヘルパーが最初に出てきたのは第何章だっけ?」という状況になりました。
「ヘルパー」が最初に出てくるのは第4章です。
ヘルパーとは何なのかが第4章で復習できます。
第9章
🎓第6版 #Railsチュートリアル の第9章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 16, 2020
ログイン機能はここで完成します。
testが複雑に見えてきます。
testの理解よりも今一度helperやcontrollerの関係や構造に注目する時間を作りました。https://t.co/ZyAGYWwvir @RailsTutorialJP
この章に至るまで、「テスト」という仕組みを作ることになります。
第9章くらいから複雑になるような気がします。
テストを全部手打ちするとエラーが発生しやすくなりました。
単なるタイプミスです。
「初心者はテストは省略していい」なんていう言葉も聞いたことがあります。
僕はテストが上手くいかない時は「テストのコードをコピペする」という対処をしました。
第10章
🎓第6版 #Railsチュートリアル の第10章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 18, 2020
色々復習しました。
user_paramsとは?(第7章で出てくる)
params[:user]の代わりに使う。
セキュリティ上、user_paramsの方が推奨される。https://t.co/ZyAGYWwvir @RailsTutorialJP
学んだことは上記の通りです。
第10章でサンプルアプリケーションがエラーを起こすことはありませんでした。
第11章
🎓第6版 #Railsチュートリアル の第11章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 21, 2020
最後の方でHerokuにクレジットカードを登録する状況になります。
英語で住所を記入する必要もあります。https://t.co/krHdGhZjAG
僕は上記のサイトを参考にしました。https://t.co/ZyAGYWO6H1 @RailsTutorialJP
第11章では、上記のようにHerokuのサイトにログインして自分のクレジットカードを登録しなければならない状況になります。
理由は、Herokuの「Mailgun」というアドオン(拡張機能)を使うためです。
クレジットカードの他に、住所を登録する必要があります。
それが英語で入力しなければなりません。
英語で自分の住所をどう入力すればいいのかわからない、という状況になりました。
そこで僕が参考にしたのが「君に届け!」というサイトです。
自分の住所を入力すると、英語表記に変換してくれます。
「英語のサイトにクレジットカードとか住所とか登録するの不安なんだけど、大丈夫なの?」
と思われる方もいらっしゃるかもしれません。
僕は実際にHerokuにクレジットカード番号と住所を登録しています。
特に何も不具合はありません。
Railsチュートリアルの指示通りに進めました。
第12章
🎓第6版 #Railsチュートリアル の第12章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 21, 2020
ログインパスワードを忘れた際、パスワード再設定リンクをメールで送信する機能よく見かけます。
あの機能をこの章で実装することになります。https://t.co/ZyAGYWO6H1 @RailsTutorialJP
上記の通りです。
アカウント作成の際にメールが送信されてきます。
メール内のリンクをクリックすることで、アカウント作成が完了する機能がこの章で実装されます。
実装してから実際にアカウント作成してみました。
その時なぜかメールがなかなか送られてきませんでした。
原因は未だにわかりません。
ですが、メールはちゃんと届きました。
5分くらいかかったような気がします。
その後も何度かアカウント作成してみました。
その時はメールはすぐに届きました。
メールがなかなか届かなくても、しばらく待ってみるのがいいかもです。
第13章
🎓第6版 #Railsチュートリアル の第13章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 28, 2020
Twitterのような短い文章を投稿する機能が実装されます。
文章に加えて画像も投稿できます。
サイズの大きい画像は自動でリサイズする機能も実装されます。https://t.co/ZyAGYWwvir @RailsTutorialJP
上記の通りです。
アプリケーションがエラーを起こすことも特になかったです。
第14章
🎓第6版 #Railsチュートリアル の第14章を走破しました!
— ララ@診療放射線技師は知識量より操作量 (@radiologis2) November 29, 2020
最終章でフォロー機能が実装されます。
「フォローする」「フォロー解除する」というのは
ユーザーとユーザーの関係を
「作成する」「削除する」という考え方をするようです。https://t.co/ZyAGYWwvir @RailsTutorialJP
最終章だけあって理論が難しいです。
ですが、やるべきことは「指示通りにコードを書くこと」だと割り切りながら進めました。
最終的にこんなアプリケーションが完成します。
- ログイン、ログアウトができる
- メール内のリンクをクリックすることでアカウント有効化
- ユーザー一覧を表示できる
- 140文字以内の文章を投稿できる
- 画像も投稿できる
- 自分以外のユーザーをフォローしたりフォロー解除したりできる
最後に
Railsチュートリアルは、道のりは長いですが「やるべきこと」ははっきりしてるんじゃないかと思います。
やるべきことは、アプリケーションを完成することだと思います。
アプリケーションを作る中で、エラーが発生して先に進めなくなることがあります。
エラーの原因が、コードの誤字脱字ってこともあります。
ググっても原因がすぐにわかるとは限りません。
どんなエラーに遭遇したかって、その人ならではの経験なんじゃないかと思います。
だから僕は経験談として「つまずいたこと」をここにまとめました。
同じエラーに遭遇する方は少ないかと思いますが、何かの役に立てていただけたら嬉しいです。
というわけで、記事は終わりです。
ここまで読んでいただいてありがとうございます。