- セールしていたので Kindle で買いました
- せっかく買ったので勉強のために読んだメモ取っていきます
Rails の軌道と簡単なアプリケーション構築
rails new hoge
rails s
簡単な Rails アプリケーションを構築する
Web アプリケーションとは
- クライアントからのリクエストを受け、レスポンスを返す仕組み
- 1回のHTTPリクエストに対して1回のHTTPレスポンスを返す
- Rails では クライアントから URI(URL + 該当するリソース)宛に発信されたHTTPリクエストを, コントローラーが受け取りHTTPレスポンスを返す
アプリケーションの生成
rails g controller greetings index
- index アクションが設定されている
- アクションとは、コントローラークラスのインスタントメソッドに相当する
- コントローラーがHTTPリクエストを取得してその要求を処理するために利用される
- 生成された erb ファイルをビューテンプレートと呼ぶ
- config/routes.rb にはルートが記述されている
get "greetings/index"
- HTTPメソッド "URI" "コントローラー#アクション"
- リソースデータはモデルを通じてデータベースで管理する
- モデル生成を行うとdb/migrate以下にマイグレーションファイルが生成される
rails db:migrate
- 正しく作られたかどうか db/schema.rb (スキーマ情報) で確認できる
- 全データの表示
Book.all
- Book モデルの全データを表示している
- view の <% 〜 %>で囲まれた部分は Ruby のコード
<%= render 'from', book: @book %>
- render はビューを出力するためのメソッド
- 部分テンプレートを出力している
- 部分テンプレートは form.html.erb のように をつけることで他のテンプレートと区別される
- params は受信パラメータのオブジェクト
params.require(:book).permit(:title, :description)
- Book.new などで生成したインスタンスをテーブルに保存するためには save メソッドを用いる必要がある
- before_action でアクションの実行前に実行するメソッドを記述できる
before_action :set_book, only: [:show, :edit, :update, :destroy]