Ruby on Rails: コントローラー...chapter3-1
前回まででDBにカラムを作ったところまで行きました。
次やることはビューに映すところまでやりたいと思います。
そこで重要になるのはルーティング、コントローラー、ビューの3つ。
先に何をしたい?って考えたときに、画面を開いたときに今まで投稿したツイートを並べるようにしたい。
ということで、ツイート一覧を作るにはツイートを書かなければ始まらない。
よって、最初にツイートを投稿できるようにしてDBに保存できるようにしたいと思います。
🧵手順
コントローラー➡︎ルーティング➡︎ビュー の順番で作っていこうと思います。
①コントローラー作成
ツイートに関することなので、ツイートのコントローラーを作る。
1. $rails g controller ○○
○○は基本的に複数形にする。←※別に単数形でも良い。
理由:
その理由は、resources
などのデフォルトのルーティングジェネレータがそのまま利用できるのと、名前付きルーティングヘルパーの用法がアプリケーション全体で一貫するからです。コントローラ名の最後が複数形になっていないと、たとえばresources
で簡単に一括ルーティングできず、:path
や:controller
をいちいち指定しなければなりません。
参照:https://railsguides.jp/action_controller_overview.html
なので今回は$rails g controller Tweetsとします。
2. 7つのアクションのメソッドをつくる
app/controllers/tweets_controller.rbに7つのアクションのメソッドを作ります。
これは後からでも変更できますので、今回はアクションを覚えるために7つ書いてみました(後でメソッド名も変更しました)。
最初destroyをdeleteと覚えていました。。。。。deleteはdestroyの(GET、PUTなどの) 各種HTTP動詞の方です。
参照:https://railsguides.jp/action_controller_overview.html
✏️コントローラーの役割
コントローラーはモデルを介してDBから情報を受け取ったり、渡したりします。
また、ユーザーからリクエストが来たらそれによってルーティングやビューに情報を渡してユーザーに結果を返す役割をする。
参照:https://pikawaka.com/rails/mvc
chapter3-2に続きます。
以上です。