新米パパの育児留学

新米パパの育児留学

未経験からエンジニアへの転職体験談など "リアル" な情報を発信

30代未経験からIT・Webエンジニアに転職した私のロードマップ
30代未経験からIT / Webエンジニアへのリアルな転職体験談1 ”エンジニアを目指し求人応募へ”
クロスバイク  LIG(リグ) MOVE 700Cの組み立て手順まとめ
本当に使えるものだけ!出産準備品・ベビー用品で実際に買ってよかったおすすめ10選
Ruby初心者におすすめの学習方法「プロを目指す人のためのRuby入門」
Ruby on Rails チュートリアル 完全攻略 概要と演習解答総まとめ

Ruby on Rails チュートリアル 完全攻略 概要と演習解答総まとめ

Ruby on Railsを学習する方が必ずといってもよいほど活用する王道の学習ツール「Ruby on Rails チュートリアル」の概要と演習解答をまとめました。

GEEKLYのIT・WEB・ソーシャルゲーム業界への転職支援サービス

はじめに

Ruby on Railsを学習する方が必ずといってもよいほど活用する王道の学習ツール「Ruby on Rails チュートリアル」。私は「Ruby on Rails チュートリアル」のおかげでエンジニア未経験からエンジニアへ転身できたと言っても過言ではありません。素晴らしい学習ツールを無料で公開されていることに心から感謝しています。

感謝と敬意を込めて概要と演習解答をまとめました。これから学習を始める方が学習前に一読されると全体感が掴めるかと思います。

公式リンクはこちら

Ruby on Rails チュートリアルの概要

Ruby on Rails チュートリアルは、SNSのTwitterのようなサンプルアプリケーション作成をテーマにした無料の大型チュートリアルです。

Ruby on Railsの専門知識のみではなく、以下を体系的に学べます。

・HTMLとCSS

・Rubyの基礎

・データベース

・バージョン管理

・開発技法

チュートリアルを進めていくうちにアプリケーションができあがってくるので開発/学習のモチベーションが上がります。

Ruby on Rails チュートリアルを進める上での注意点

・Ruby,Ruby on Railsの基礎知識を学習することを推奨(詳細は以下の記事参照)

http://mochikichi.hatenablog.com/entry/2017/01/30/205046

・調べてもわからない点があっても読み飛ばしてドンドン進める(2周するつもりくらいで丁度よい)

・期間を空けずに定期的に学習する

Ruby on Rails チュートリアルの成果物

「第1章 ゼロからデプロイまで」

f:id:mochikichi321:20170604070658p:plain

https://serene-everglades-81078.herokuapp.com/

「第2章 Toyアプリケーション」

f:id:mochikichi321:20170604070710p:plain

https://hidden-forest-93840.herokuapp.com/

f:id:mochikichi321:20170604070739p:plain

https://hidden-forest-93840.herokuapp.com/microposts

「第3章 ほぼ静的なページの作成」~「第14章 ユーザーをフォローする」

f:id:mochikichi321:20170604160802p:plain

https://desolate-meadow-77735.herokuapp.com/

第1章 ゼロからデプロイまで

概要

難易度★☆☆☆☆(1)

必要なソフトウェアをインストールし、開発環境を整え、hello_appというRailsアプリの最初のサンプル作成に取りかかる。Gitを使ったバージョン管理を行う。最後には、作成したアプリを早々に本番(production)環境にデプロイして一般公開する。

<キーワード>

・Model-View-Controller (MVC)

・Hello, world!

・Gitによるバージョン管理

・デプロイ

演習問題と解答

【第1章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第2章 Toyアプリケーション

概要

難易度★☆☆☆☆(1)

大量の機能を自動的に生成するscaffoldジェネレータというスクリプトを使ってアプリケーションをすばやく生成し、それを元に高度なRailsプログラミングとWebプログラミングの概要を学ぶ。

<キーワード>

・Scaffold

演習問題と解答

【第2章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第3章 ほぼ静的なページの作成

概要

難易度★☆☆☆☆(1)

本格的なサンプルアプリケーションの開発を進めていく。静的なページの作成について学ぶ。「自動化テスト」の雰囲気を掴む。

<キーワード>

・ERB (埋め込みRuby: Embedded RuBy)

・テスト駆動開発「red・green・REFACTOR」サイクル

演習問題と解答

【第3章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第4章 Rails風味のRuby

概要

難易度★★☆☆☆(2)

Railsにおいて重要となるRubyhttp://mochikichi.hatenablog.com/entry/2017/02/09/200808のさまざまな要素について探っていく。「Rails風味のRuby」というものについての確固たる基盤を、皆さんのこれまでの言語経験に関わらず提供。

<キーワード>

・ヘルパー

・Rails console

・Ruby言語の基礎

演習問題と解答

【第4章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第5章 レイアウトを作成する

概要

難易度★★☆☆☆(2)

アプリケーションにBootstrapフレームワークを組み込み、カスタムスタイルを追加。これまで作成したページ (HomeやAboutなど) へのリンクをレイアウトに追加。その途中で、パーシャル、Railsのルーティング、Asset Pipelineについて学び、さらにSassについても紹介する。

<キーワード>

・Bootstrapを用いてスタイルをカスタム

・Sass

・統合テスト

演習問題と解答

【第5章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第6章 ユーザーのモデルを作成する

概要

難易度★★☆☆☆(2)

これから6つの章を通して、ユーザー登録ページを作っていく。本章では、一番重要なステップであるユーザー用のデータモデルの作成と、データを保存する手段の確保について学ぶ。

<キーワード>

・Userモデル作成

・有効性の検証(バリデーション)

・セキュアなパスワードを追加する

演習問題と解答

【第6章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第7章 ユーザー登録

概要

難易度★★★☆☆(3) (このあたりから難易度UPします)

Userモデルができあがったので、いよいよユーザー登録機能を追加する。

<キーワード>

・デバッグ

・form_forを使用してユーザー登録フォームを作成

・エラーメッセージ表示

・サクセスメッセージ表示

演習問題と解答

【第7章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第8章 基本的なログイン機構

概要

難易度★★★☆☆(3)

第7章でWebサイトでの新規ユーザー登録が行えるようになったので、今度はユーザーがログインやログアウトを行えるようにする。

<キーワード>

・sessionsコントローラー作成

・log_inメソッド

・log_outメソッド

演習問題と解答

【第8章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第9章 発展的なログイン機構

概要

難易度★★★☆☆(3)

第8章では、基本的なログイン機構を実装した。しかし最近のウェブサービスでは、(任意で) ユーザーのログイン情報を記憶しておき、ブラウザを再起動した後でもすぐにログインできる機能 (remember me) を備えていることも一般的になってきた。そこで本章では、永続クッキー (permanent cookies) を使ってこの機能を実現していく。

※第9章を飛ばして第10章に進むことも可能。

<キーワード>

・永続的cookiesを利用してログイン状態の保持(Remember me 機能)

・永続的cookiesを削除してユーザーを忘れる

演習問題と解答

【第9章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第10章 ユーザーの更新・表示・削除

概要

難易度★★★★☆(4)

Usersリソース用のRESTアクションのうち、これまで未実装だったedit、update、index、destroyアクションを加え、RESTアクションを完成させる。本章ではまず、ユーザーが自分のプロフィールを自分で更新できるようにする。次に、すべてのユーザーを一覧できるようにする。最後に、ユーザーを削除し、データベースから完全に消去する機能を追加する。

<キーワード>

・フレンドリーフォワーディング

・ページネーションを利用した一覧表示

・管理ユーザー権限設定

演習問題と解答

【第10章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第11章 アカウントの有効化

概要

難易度★★★★☆(4)

アカウントを有効化するステップを新規登録の途中に差し込むことで、本当にそのメールアドレスの持ち主なのかどうかを確認できるようにする。大まかな流れは、(1) 有効化トークンやダイジェストを関連付けておいた状態で、(2) 有効化トークンを含めたリンクをユーザーにメールで送信し、(3) ユーザーがそのリンクをクリックすると有効化できるようにする。

<キーワード>

・AccountActivationsリソース

・アカウント有効化のメール送信

演習問題と解答

【第11章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第12章 パスワードの再設定

概要

難易度★★★☆☆(3) ※第11章の内容と似ているため理解しやすい

パスワード再設定を実装する。ログインフォームに「forgot password」リンクを追加し、そのリンクをクリックするとフォームが表示され、そこにメールアドレスを入力してメールを送信すると、そのメールにパスワード再設定用のリンクが記載されている。この再設定用のリンクをクリックすると、ユーザーのパスワードを再設定してよいか確認を求めるフォームが表示される。

<キーワード>

・PasswordResetsリソース

・パスワード再設定のメール送信

演習問題と解答

【第12章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第13章 ユーザーのマイクロポスト

概要

難易度★★★★☆(4)

ユーザーが短いメッセージを投稿できるようにするためのリソース「マイクロポスト」を追加する。Micropostデータモデルを作成し、Userモデルとhas_manyおよびbelongs_toメソッドを使って関連付けを行い、さらに、結果を処理し表示するために必要なフォームとその部品を作成する。

<キーワード>

・has_manyやbelongs_toを利用した関連付け

・CarrierWaveを利用した画像アップロードや画像リサイズ

演習問題と解答

【第13章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第14章 ユーザーをフォローする

概要

難易度★★★★★(5)

他のユーザーをフォロー/解除できるソーシャルな仕組みの追加と、フォローしているユーザーの投稿をステータスフィードに表示する機能を追加。ユーザー間の関係性のモデリング方法を学び、 モデリング結果に対応するWebインターフェースを実装する。最後に、ステータスフィードの完成版を実装する。

<キーワード>

・has_many :throughを利用したモデリング

・Ajaxを利用したwebインターフェイス構築

演習問題と解答

【第14章】Ruby on Rails チュートリアル 5.0(第4版)演習と解答まとめ - 新米パパの育児留学

第14.4章 サンプルアプリケーションの機能拡張

概要

難易度 ー (取組む内容による)

本チュートリアルで作成したサンプルアプリケーションに機能を拡張する。自分で調べて実装していくためこれまでに比べるとかなり難易度は上がるが、より実践的な部分を学べる。

機能拡張のサンプル#1 検索機能拡張

Ruby on Rails 検索機能拡張 (railsチュートリアル) - 新米パパの育児留学

機能拡張のサンプル#2 いいね(like)機能拡張

Ruby on Rails いいね(like)機能拡張 (railsチュートリアル) - 新米パパの育児留学

あわせて読みたい

GEEKLYのIT・WEB・ソーシャルゲーム業界への転職支援サービス

mochikichi.hatenablog.com

mochikichi.hatenablog.com

mochikichi.hatenablog.com