Railsの学習といえばRails Tutorialだとおもいますが、あれは結構長いですよね。1日あたり1、2時間だと1ヶ月弱くらいでしょうか。一方、Rails Guidesなるものも存在するのですが、こちらは1週間もかからずに終えられると思います。今回は、実際にRails Guidesをやってみたので、僕が理解したことなどをまとめます。
もくじ
概要
ローカルにRailsの環境を構築して、ブログアプリケーションを作成する内容です。
1〜3章 導入
1章はRails Guidesを進める上での前提条件が記載されてます。Rubyは2.2以上でなど
2章はRailsについて簡単な説明が記載されています。
3章は環境を導入してさっそくRailsコマンドでプロジェクトを作成していきます。
なお、こちらの記事にVagrantで稼働させたCentOS7上でのRails環境の整え方をまとめています。
4章 Hello Rails!
controllerとviewを実装してHello, Rails!を画面に表示させます。いわゆるHello, World!ですね。
キーワード
controller
アプリケーションに対する特定のリクエストを受け取って処理するのが役割です。
routing
リクエストをどのコントローラに割り振るかを決定するためのものです。
view
ユーザーが読める形式で表示することです。
以上を使ってブラウザ上にHello,Rails!を表示します。
5章 ブログ機能の実装
5章ではページへのリクエストに対するアクションとモデルを追加して、ブログに記事を追加/更新/削除する機能や記事の一覧ページを表示するページを実装します。RailsGuidesのメインチャプターです。
キーワード
action
コントローラの内側で定義されたメソッド。
関連付けられたビューがあり、そこで情報を表示できる。
model
単数形の名前を持ち、対応するデータベーステーブル名は複数形で表される。
migration
データベーステーブルの作成や変更を簡単に行うためのしくみ。
基本的に以上を駆使して、ブログに必要な機能を実装していきます。
6章 リレーショナルなモデル追加
ここでは5章で作成したモデルに関連づけて新たなモデルを作成します。
キーワード
has_many
:XXX
belongs_to
:XXX
7章 パーシャル
各HTMLファイルの共通部分をパーシャルというパーツにくくりだします。
キーワード
パーシャル
_XXX.html.erb のように_はじまりのネーミングにする。
renderメソッドで呼びだす。
8章 関連づけられたモデルも含めた削除
ブログ記事を削除した時に大鳳ブログに関するコメントも同時に消えるような仕組みを実装します。
キーワード
dependent
オプション
9章 セキュリティ
記事を追加/編集/削除したり、コメントを削除する場合にBASIC認証を要求する処理を実装します。
キーワード
http_basic_authenticate_with
メソッド
tips
ここでは、僕がRailsGuidesを進めるにあたって打ち間違えや不意なデータ挿入で困ったので、そのときに使ったコマンドなどをまとめておきます。
controllerやmodelの取り消し
controllerやmodel作成を間違えたとき
commentモデルを作りたかったのに
rails generate model Commmmmment commenter:string body:text
このように間違えた場合
rails destroy model Commmmmment
で取り消し可能です。controllerも一緒。
modelのリセット
変なデータが入ってしまったばあいなどに
db:migrate:reset
で全てやり直せる。