LoginSignup
1
0

More than 5 years have passed since last update.

Ruby on Rails 第2章 チュートリアル やることリストと学んだこと

Last updated at Posted at 2018-05-04

Rails5.1.4(第4版)でのRails tutorialの第2章のやることのリスト(要約)と学んだことを個人的にをまとめました。なにか、訂正や間違いがあればご指摘していただけると助かります。

scaffoldを使ってToyアプリケーションの作成

1.新規作成(下準備)
2.
3.
4.

1.新規作成(下準備)

第1章と同じ手順で

  • 新規アプリを作成して
bash
cd ~/environment
$ rails _5.1.4_ new toy_app
$ cd toy_app/

Gemfileを↓に書き換えて

Gemfile
  source 'https://rubygems.org'

gem 'rails',        '5.1.4'
gem 'puma',         '3.9.1'
gem 'sass-rails',   '5.0.6'
gem 'uglifier',     '3.2.0'
gem 'coffee-rails', '4.2.2'
gem 'jquery-rails', '4.3.1'
gem 'turbolinks',   '5.0.1'
gem 'jbuilder',     '2.7.0'

group :development, :test do
  gem 'sqlite3', '1.3.13'
  gem 'byebug',  '9.0.6', platform: :mri
end

group :development do
  gem 'web-console',           '3.5.1'
  gem 'listen',                '3.1.5'
  gem 'spring',                '2.0.2'
  gem 'spring-watcher-listen', '2.0.1'
end

group :production do
  gem 'pg', '0.20.0'
end

# Windows環境ではtzinfo-dataというgemを含める必要があります
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

Gemパッケージをインストール(アップデート)

bash
$ bundle install --without production
[ $bundle update ]

toyアプリをバージョン管理下に置くためにローカルリポジトリを作成してcommit

bash
$ git init
$ git add -A
$ git commit -m "Initialize repository"

リモートリポジトリを作成してtoyアプリをpush

  • Bitbucketのサイトで [Create] ボタンをクリック
bash
$ git remote add origin git@bitbucket.org:<username>/toy_app.git
$ git push -u origin --all

前章と同じようにHello Worldを表示すりためにapplication_controller.rbとroutes.rbを変更し、変更をコミット

$ git commit -am "Add hello"

本番環境にデプロイにするためにHerokuサーバーにサンプルアプリケーションの実行場所を作成しpush

bash
$ heroku create
$ git push heroku master

下準備終わり

Ruby on Ralis チュートリアル

2 Scaffoldでアプリ作成

  • Usersリソースの作成
    • ユーザー用のデータモデルと、そのモデルを表示するためのWebインターフェイスを合わせてUsersリソ ースという。Usersリソースは、ユーザーというものを、HTTPプロトコル経由で自由に作成/取得/更新/削除できるオブジェクト。
    • scaffoldを使えば簡単にUsersリソースを作成することができる。
bash
$ rails generate scaffold User name:string email:string

- 新しいデータモデルでデータベースを更新する

bash
$ rails db:migrate
  • indexページ(/users)の仕組み image.png

resources :users というルーティングルールが追加される

routes.rb
Rails.application.routes.draw do
  resources :users
  root 'users#index'
end
  • usersリソースが提供するRESTfulなルート
    スクリーンショット 2018-05-05 7.07.14.png

  • scaffoldで生成されたUsersコントローラの骨格

users.controller
class UsersController < ApplicationController
  .
  .
  .
  def index
    .
    .
    .
  end

  def show
    .
    .
    .
  end

  def new
    .
    .
    .
  end

  def edit
    .
    .
    .
  end

  def create
    .
    .
    .
  end

  def update
    .
    .
    .
  end

  def destroy
    .
    .
    .
  end
end

index、show、new、editアクションはいずれもページを出力しているが、
create、update、destroyはページを出力せずにデータベース上のユーザー情報を操作する。

  • 継承

    • Controller controllers/users_controller.rbは
      Users_controller >> ApplicationController >> ActionController::Base を継承
    • Model models/user.rbは
      User >> ApplicationRecord >> ActiveRecord::Base を継承

3

4

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0