• 技術が集うTECH GUILD

    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アプリが作成できる。


    コメント一覧

    返信2018年12月22日 10:25

    【Railsサンプルアプリ】既存RailsプロジェクトをWebAPIに修正する (未解決) | TECH GUILD23/

    […] ドがあり、rails new するときに–apiオプションを使用することで利用できる。 ただし、前回記事の通り既にプロジェクト作成済みであるため、これを修正してAPIモードにできないか調 […]

    返信2018年12月22日 10:46

    【Railsサンプルアプリ】RailsでWebAPIアプリ作成 | TECH GUILD23/

    […] 以前作ったユーザ管理アプリを前回記事では、既存RailsアプリをWebAPI化する修正を試みましたができませんでした。今回は–apiオプションをつけて新たにプロジェクトを作ります。 […]

    コメントを残す

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