【Railsサンプルアプリ】scaffoldの作成とdb:migrateでテーブル作成

【Railsサンプルアプリ】scaffoldの作成とdb:migrateでテーブル作成

scaffoldでmodel とcontrollerとデータベースのテーブルを作ります。
User管理アプリを作ります。

概要

  1. Railsアプリの作成
  2. scaffoldの作成
  3. db:migrateの実行
  4. 動作確認

詳細

Railsアプリの作成

$ rails new UserManagement -BCMT --skip-coffee -d postgresql
      create  
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  Gemfile
〜〜省略〜〜
$ bundle lock --add-platform x64-mingw32 x86-mingw32
$ bundle
Fetching gem metadata from https://rubygems.org/.........
Using rake 12.3.2
Using concurrent-ruby 1.1.4
Using i18n 1.2.0
Using minitest 5.11.3
Using thread_safe 0.3.6
Using tzinfo 1.2.5
Using activesupport 5.2.2
Using builder 3.2.3
Using erubi 1.7.1
Using mini_portile2 2.4.0
Fetching nokogiri 1.9.1
Installing nokogiri 1.9.1 with native extensions

scaffoldの作成

scaffoldを作成します。テーブル名はUser、属性はname, mail, ageの3件。

$ rails generate scaffold User name:string mail:string age:integer 
      invoke  active_record
      create    db/migrate/20181218143645_create_users.rb
      create    app/models/user.rb
      invoke  resource_route
       route    resources :users
      invoke  scaffold_controller
      create    app/controllers/users_controller.rb
      invoke    erb
      create      app/views/users
      create      app/views/users/index.html.erb
      create      app/views/users/edit.html.erb
      create      app/views/users/show.html.erb
      create      app/views/users/new.html.erb
      create      app/views/users/_form.html.erb
      invoke    helper
      create      app/helpers/users_helper.rb
      invoke    jbuilder
      create      app/views/users/index.json.jbuilder
      create      app/views/users/show.json.jbuilder
      create      app/views/users/_user.json.jbuilder
      invoke  assets
      invoke    js
      create      app/assets/javascripts/users.js
      invoke    scss
      create      app/assets/stylesheets/users.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.scss

db:migrateの実行

$ rails db:migrate
== 20181218143645 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0219s
== 20181218143645 CreateUsers: migrated (0.0227s) =============================

テーブルが作られたことをpostgresに入って確認します。

$ psql -U rails_user rails_dev
rails_dev-# \dt
                 List of relations
 Schema |         Name         | Type  |   Owner    
--------+----------------------+-------+------------
 public | ar_internal_metadata | table | rails_user
 public | schema_migrations    | table | rails_user
 public | users                | table | rails_user
(3 rows)

 

動作確認

http://localhost:3000/users

初期画面

New Userをクリック。入力画面

Create Userをクリック。結果画面

Backをクリック。User一覧画面

2件Userを追加する。

このようにscaffoldを利用すると即席でCRUDアプリが作成できる。

【Railsサンプルアプリ】scaffoldの作成とdb:migrateでテーブル作成」への2件のフィードバック

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください