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