つまりなにしたの?
Railsのアプリを作ったらScaffoldで簡単な骨子を作って肉付けしていくらしいので、
最初に作ったら何ができるのか確認した。
まずは実行する
emailとnameのデータを持つuserというモデルを作成する。
$ rails generate scaffold user email:string name:string Running via Spring preloader in process 4447 invoke active_record create db/migrate/20180427194519_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 create test/system/users_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 create app/views/users/_user.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
作成されたもの
- resource_route
resources :usersがconfig/routes.rbに追加されている
- active_record
マイグレーション用のコードとモデルアクセスのためのコード
yyyymmddHHMMSS_create_users.rbができる。
class CreateUsers < ActiveRecord::Migration[5.2] def change create_table :users do |t| t.string :email t.string :name t.timestamps end end end
app/models/user.rbもつくられているが、ApplicationRecordを継承しただけだった。
- erb
ビューのERBテンプレートエンジン向けコード
各種ページの生成に必要なerbがつくられていた。
JSONレスポンスのテンプレートエンジン向けコード
個別のユーザ情報を取得するjsonとユーザリストを取得するjsonがつくられていた。
- scaffold_controller
コントローラ
- helper
ヘルパー用のコード。
コントローラがめちゃくちゃ長くなった時に使うようなイメージだけど特に中身はなかった。
- test_unit
単体テスト用のコード。既に7つのテストが走っていた。
- assets: coffee
coffeeスクリプト。中身は空
- assets: scss
SCSS形式のスタイルシート。ScaffoldsとUsers向けのスタイルシートが入っていた。
Scaffold側にはスタイルが書いてあるけどUsers側には特に書いてなかった。
db:migrateしてアクセスしてみる
$ rails db:migrate $ rails server
ブラウザから立ち上がったRailsのアドレスにアクセスする。
先日の開発環境を使っていたら192.168.33.10:3000
ensekitt.hatenablog.com
新しいUserを作る
作れた。
/usersを見ると増えていることがわかる