【1週目】Railsチュートリアル第7章 ユーザー登録
概要
前章でuserモデルを生成したので、この章から本格的なユーザー新規登録の実装に入っていく。
ユーザー登録が成功したら、プロフィールページ(ユーザー詳細ページ)に遷移させて、失敗したらエラーメッセージを表示させ新規登録ページを再度表示させる。
それに伴いユーザーの新規登録に関する統合テストも行っていく。
まとめ
サンプルアプリケーションにユーザー新規登録機能を実装したことでいよいよwebアプリケーションっぽくなってきました。
形になっていくのは楽しいのですが、やっぱり理解はまだまだ足りておらず難易度も上がっているように感じます。さすがRailsチュートリアルって感じ(笑)
Railsチュートリアルを始める前に、理解度6割で進めていこうと以前の記事で書いたと思うのですが、前言撤回します(笑)理解度に重点を置いて進めていくと、詰まるところに時間がかかってしまい、挫折してしまうと思ったので
「理解度4割で最後まで突っ走り、全体像を把握する」を目標に掲げていきたいと思います。
挫折しては意味がないですからね。頑張ります!
【1週目】Railsチュートリアル第6章 ユーザーのモデルを作成する
概要
この章ではUserモデルを生成し、データ保存時に存在性や文字数などその他諸々の条件を指定する。
またそれに伴ったテストコードも書いていく。
キーワード
- Userモデル
- 正規表現
- has_secure_password
まとめ
ユーザー情報を保存する際に、いろいろな制限をもうけ、またそれに対してのテストコードも書いていきました。
name属性は存在性と文字数の制限だけでしたが、email属性はそれにフォーマットの検証、重複を防ぐ、保存前に強制的に小文字に変換するなど
やらなくてはいけないことが多くまたそのぶんだけテストコードも書かないといけないので大変でした。
【1週目】Railsチュートリアル第5章 レイアウトを作成する
概要
前の章で作成したアプリケーションにBootstrapを適用し、スタイルを適用させる。
また、静的ページ(HomeやAboutなど)へのリンクを生成する。
ルーティングやアセットパイプライン、更にはSassについても学習していく。
章の最後は、統合テストも導入する。
つまづいたこと
トピックブランチ上で作業したコードをHerokuにPushできない問題が発生。
ネットで調べたところ、どうやら
$ git push heroku master
はローカル上のmasterブランチをpushするコマンド。
ではトピックブランチをHerokuにPushするにはどうしたらいいのか。
$ git push heroku ブランチ名:master --force
として強制的にPushする方法があるとのこと。
ただ、Herokuはmasterブランチしか存在できないので
最終的にはmasterブランチにマージしてPushする必要があるとのことでした。
なので、上のコマンドは一時的な確認用コマンドという認識でいいのかなと思います。
キーワード
- Bootstrap
- パーシャル
- Sass
- アセットパイプライン
- 名前付きルート
- 統合テスト
まとめ
Bootstrapを使っていい感じにスタイルを適用させることができました。
ただ、ブラックボックス化しているためなんでこのように適用されているのかの根本的なところが理解できず、不安も残りました。
3章よりもテストコードが複雑になってきましたねー・・・ファイルを行き来するので何がなんだかみたいな状態に陥りました笑
まだまだ理解への不安が残りますが、次の章も頑張っていきたいと思います!
【1週目】Railsチュートリアル第3章 ほぼ静的なページの作成
概要
この章から、本格的なサンプルアプリケーションの開発に入っていく。ログイン・ログアウト機能などを実装していくが、まずは、静的なページから実装していく。それと同時にテストも行う。
【1週目】Railsチュートリアル第2章 Toyアプリケーション
概要
scaffoldを使って簡単なアプリケーションを作成し、Railsの流れを理解する
つまづいたところ
$ git push heroku
をした後に、Herokuでアプリケーションの確認をしたところ、「We're sorry, but something went wrong.」と表示されました。
ネットで調べて、
$ heroku run rails db:migrate
を実行。
無事、アプリケーションが本番環境にあげられました。
ちなみに、こちらのコマンドですがチュートリアルの下の方にすぐ書かれてありました。
本番環境のデータベースを使うにはこちらのコマンドを実行する必要があるとのことでした。
キーワード
- scaffold
- MVCの挙動
- バリデーション
- データモデル同士の関連付け
- モデル、コントローラの継承
- REST
まとめ
scaffoldで簡単なアプリケーションを作成して、Railsの流れを学びました。
テーブル同士の関連付け、バリデーションの設定、モデルとコントローラの継承など深い内容でした。
【1週目】Railsチュートリアル第1章 ゼロからデプロイまで
ここでは、Railsチュートリアルで学んだことをメモしていきたいと思います。
事前知識
ちなみにチュートリアルに入る前に、progate・ドットインストール・スクールのカリキュラムを一通り終わらせました。
1週目の目標
一度に全部理解しようとすると挫折してしまうと思ったので(てか多分できない)、ここでは「最後まで終わらせる」を目標にして取り組んでいきたいと思います。
考えて手を動かす練習として演習も進めていきます。
概要
この章では、「Hello, world!」と表示するだけの簡単なアプリケーションをGitで管理し、本番環境(Heroku)にデプロイするところまでを学ぶ
つまづいたところ
$ heroku login
でローディングエラー
heroku: Press any key to open up the browser to login or q to exit: heroku: Waiting for login… ⣽
ネットで調べたらターミナルベースでHerokuにログインするには
$ heroku login --interactive
で末尾に--interactiveオプションをつける必要があるとのこと。
メールアドレスとパスワードを入力して無事ログインできました。
まとめ
アプリケーションの作成から本番環境にあげるまでを一通り学べました。gitでの管理は使い込んで慣れるしかないですね。