プログラミング学習記録

主にHTML/CSS、Ruby、Ruby on Railsを勉強しています。その他興味のあるもの→PHP/Javascript/Wordpress/英語/海外 自由な生き方を目指して日々奮闘中です!

【1週目】Railsチュートリアル第7章 ユーザー登録

概要

前章でuserモデルを生成したので、この章から本格的なユーザー新規登録の実装に入っていく。
ユーザー登録が成功したら、プロフィールページ(ユーザー詳細ページ)に遷移させて、失敗したらエラーメッセージを表示させ新規登録ページを再度表示させる。
それに伴いユーザーの新規登録に関する統合テストも行っていく。

キーワード

まとめ

サンプルアプリケーションにユーザー新規登録機能を実装したことでいよいよwebアプリケーションっぽくなってきました。
形になっていくのは楽しいのですが、やっぱり理解はまだまだ足りておらず難易度も上がっているように感じます。さすがRailsチュートリアルって感じ(笑)


Railsチュートリアルを始める前に、理解度6割で進めていこうと以前の記事で書いたと思うのですが、前言撤回します(笑)理解度に重点を置いて進めていくと、詰まるところに時間がかかってしまい、挫折してしまうと思ったので
「理解度4割で最後まで突っ走り、全体像を把握する」を目標に掲げていきたいと思います。
挫折しては意味がないですからね。頑張ります!

【1週目】Railsチュートリアル第6章 ユーザーのモデルを作成する

概要

この章ではUserモデルを生成し、データ保存時に存在性や文字数などその他諸々の条件を指定する。
またそれに伴ったテストコードも書いていく。

キーワード

まとめ

ユーザー情報を保存する際に、いろいろな制限をもうけ、またそれに対してのテストコードも書いていきました。
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する必要があるとのことでした。
なので、上のコマンドは一時的な確認用コマンドという認識でいいのかなと思います。

参考サイト:Heroku アプリケーションの管理 - 君の瞳はまるでルビー - Ruby 関連まとめサイト

キーワード

  • Bootstrap
  • パーシャル
  • Sass
  • アセットパイプライン
  • 名前付きルート
  • 統合テスト

まとめ

Bootstrapを使っていい感じにスタイルを適用させることができました。
ただ、ブラックボックス化しているためなんでこのように適用されているのかの根本的なところが理解できず、不安も残りました。
3章よりもテストコードが複雑になってきましたねー・・・ファイルを行き来するので何がなんだかみたいな状態に陥りました笑
まだまだ理解への不安が残りますが、次の章も頑張っていきたいと思います!

【1週目】Railsチュートリアル第4章 Rails風味のRuby

概要

ここではRailsから一度離れてRubyの基礎を学習する。

キーワード

  • 組み込みヘルパー
  • カスタムヘルパー
  • オブジェクト
  • メソッド
  • 配列
  • ハッシュ

まとめ

progateのrubyコースで学んだ、ハッシュや配列が出てきました。
ここはあまり時間をかけずにさらっと進めました。

【1週目】Railsチュートリアル第3章 ほぼ静的なページの作成

概要

この章から、本格的なサンプルアプリケーションの開発に入っていく。ログイン・ログアウト機能などを実装していくが、まずは、静的なページから実装していく。それと同時にテストも行う。

キーワード

まとめ

Railsチュートリアルに入る前に、テストコードが複雑で難しいという意見をネットで見聞きしていたため構えていたが、
今回は静的なページのテストコードということでシンプルで分かりやすかったです。
この章から本格的なwebアプリケーションの開発に入っていくということで最後までやり遂げれるか不安ですが、6割ぐらいの理解でどんどん進めていきたいと思います。

【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・ドットインストール・スクールのカリキュラムを一通り終わらせました。

Railsチュートリアルに取り組む経緯

オリジナルアプリを作成するにはまだまだ知識が足りていないと感じたため、先にRailsチュートリアルに取り組もうと思ったのが経緯です。

1週目の目標

一度に全部理解しようとすると挫折してしまうと思ったので(てか多分できない)、ここでは「最後まで終わらせる」を目標にして取り組んでいきたいと思います。
考えて手を動かす練習として演習も進めていきます。
 

Railsチュートリアル第1章 ゼロからデプロイまで

使ったツール

  • AWS cloud9
  • Bitbucket(リモートリポジトリ)
  • Heroku(デプロイ用) 

概要

この章では、「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オプションをつける必要があるとのこと。
メールアドレスとパスワードを入力して無事ログインできました。
 

キーワード

  • MVC
  • Gitによるバージョン管理
  • Bitbucket
  • Heroku

 

まとめ

アプリケーションの作成から本番環境にあげるまでを一通り学べました。gitでの管理は使い込んで慣れるしかないですね。