Scaffoldを使わないで1からRails
scaffoldの中身を理解するためにMVCコンポーネントと7つのアクションを個別で自作する (1/3):開発現場でちゃんと使えるRails 4入門(2) - @IT
上のリンクを元に勉強を進めていく。
rails _5.1.4_ new sample_app
で新しいディレクトリ兼諸々作成。
最初にモデルの作成
bundle exec rails generate model user name:string department:string
- app/models/user.rb
- db/migrate/xxxxxxx_create_users.rb (xxxxはタイムスタンプ)
- test/models/user_test.rb
bundle exec rake db:migrate
マイグレーションをデータベースに適用
次にコントローラー作成
bundle exec rails g controller users
- app/controllers/users_controller.rb
- app/view/users(ディレクトリ)
- app/assets/stylesheets/users.css.scss
- app/assets/javascript/users.css.scss
- app/helpers/user_helper.rb
- app/controllers/users_controllers_test.rb
- app/controllers/users_helper_test.rb
「app/controllers/users_controller.rb」
@usersに全ユーザのモデルオブジェクトを代入し、
同じ名前を持つビュー(app/views/users/index.html.erb)をレンダリング
ビューの実装
app/views/users/index.html.erbを作って表示させる。
ルーティングの設定
「config/routes.rb」のBookLibrary::Application.routes.drawの中身
resources:の中にUserControllerのメソッドを追加でしておく。
例:
resources :users, only: [:index]
rake routes を用いて
追加されているか確認すること!(user#index)みたいに
「form_for」メソッドを使いフォームを含むビューの実装
とりあえずnewアクションのビューを示す。
「app/views/new.html.erb」(かな・・・?)
「form_for」メソッドは引数に撮ったモデルオブジェクトのための<form>タグを生成する。
未保存データ => createアクションに向けた宛先の情報生成
保存済データ => 更新のためのアクションに向けたry