ここではRailsでデータの保存をする方法を学習する。
保存の仕組みは少し複雑だが、Railsの主要な機能となる。
また、Railsが備えているセキュリティ対策の仕組みについても学ぶ。データを保存する仕組みの全体像を確認する。
Railsでデータが保存される仕組みを知る
データの保存には、大きく分けて2つの機能が関わっている。
- データの投稿画面を表示する
- データの保存を行う
コントローラーのアクションでいうと「new」と「create」に相当する機能である。
機能を追加するときは、どのアクションに記述するかが大切なので、もう一度7つのアクションを確認しておく。
アクション名 | 役割 |
---|---|
index | リソースの一覧表示を行う |
show | リソースの詳細表示を行う |
new | リソースの新規登録画面を表示する |
create | リソースの追加を行う |
edit | リソースの編集画面を表示する |
update | リソースの更新を行う |
destroy | リソースの削除を行う |
新規投稿画面の表示
最初に、ユーザーが投稿をするための登録画面が表示されるまでの流れを確認する。
投稿画面の表示については非常にフローがシンプルである。
先に学習した一覧表示の画面と似ている。
しかも、これからデータを投稿する画面なのでデータベースからデータを取得する必要もない。
その代わりに、ユーザーがデータを入力するための「フォーム」が必要になる。
後の投稿でその使い方を学習する。
データを保存する仕組み
保存の仕組みは複雑なので、後の投稿で詳しく確認を行います。
ここでは、大まか流れだけ押さえておく。
- ユーザーが投稿内容を入力して「送信」ボタンをクリックすると、その入力内容が送信される。
送信先のURLは、tweetsコントローラーの「create」アクションが呼ばれるURLと一致している。 - コントローラーが呼ばれたら、送信されたデータを取得するメソッドを使う。
paramsという名称のハッシュにデータが入っているため、それを取り出してモデルに保存するよう依頼する。
このとき、悪意のあるユーザーの入力からアプリを守るために、「ストロングパラメータ」という仕組みが用意されている。
- 実際にテーブルにデータが保存されてフローは完了。
以上がデータベースに保存をするときの全体的な流れである。
次からは実際にコーディングを行いながら詳しく内容を見ていく。