読者です 読者をやめる 読者になる 読者になる

ぞえの技術めも

Ruby on Rails勉強中

【7日目】【1日20分のRailsチュートリアル】ユーザー管理ページをscaffoldジェネレータで作成

2.1 アプリケーションの計画

2.1.1 ユーザーのモデル設計

2.1.2 マイクロポストのモデル設計

データベースの知識があれば大体分かるかな、という感じ。 逆にデータベースの知識がない場合はデータベースの基本学習をした方がいいかもしれない。

そもそも「マイクロポスト」の実態が掴めないけどそのうち分かるでしょう。

2.2 Usersリソース

scaffoldジェネレータを使ってUser用のデータモデルを指定して生成。

$ cd toy_app/
$ rails generate scaffold User name:string email:string
      invoke  active_record
      create    db/migrate/20160715003337_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml
      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    test_unit
      create      test/controllers/users_controller_test.rb
      invoke    helper
      create      app/helpers/users_helper.rb
      invoke      test_unit
      invoke    jbuilder
      create      app/views/users/index.json.jbuilder
      create      app/views/users/show.json.jbuilder
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/users.coffee
      invoke    scss
      create      app/assets/stylesheets/users.scss
      invoke  scss
      create    app/assets/stylesheets/scaffolds.scss

特にエラーも出ていないし大丈夫そう。

コマンドと2.1.1のユーザーのデータモデルを比較すると、
idパラメータは要らないのかな、と思いましたがちゃんと記載がありました。
自動的に設定されるそう!

(なお、idパラメータはRailsによって自動的に主キーとしてデータベースに追加されるため、追加不要です)。

データベースのマイグレート。
単語はよく分からないけどmake的な感じ?

$ bundle exec rake db:migrate
== 20160715003337 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0025s
== 20160715003337 CreateUsers: migrated (0.0026s) =============================

上のコマンド実施したターミナルとは別ターミナルでサーバー起動しておく。

$ cd toy_app/
$ rails server -b $IP -p $PORT

2.2.1 ユーザーページを探索する

https://<ローカルサーバーのアドレス>/users
でユーザー一覧のindexにアクセスできる。

データベースのテーブルもできてこんなページもあっさりできるなんて…!
アプリ作成とは違う

f:id:kt_zoe:20160715123430p:plain

「New User」からユーザー追加してみる。

f:id:kt_zoe:20160715123728p:plain

できた。

f:id:kt_zoe:20160715123742p:plain

もう一つユーザー追加して

f:id:kt_zoe:20160715123827p:plain

「Destroy」から削除。

f:id:kt_zoe:20160715123843p:plain

表示・作成・編集・削除一通りできました!
コマンド打っただけで簡単なユーザー管理ページが作成できるとは。。。

今日の作業時間は【21分】でした。

次は「2.2.2 MVCの挙動」から。