さらなる高みへ -higher ground -

プログラミング学習の定着を狙いとしたアウトプット(独り言)をしてみるブログ

保存の仕組みを理解する【Ruby on Rails12】

ここではRailsでデータの保存をする方法を学習する。
保存の仕組みは少し複雑だが、Railsの主要な機能となる。

また、Railsが備えているセキュリティ対策の仕組みについても学ぶ。データを保存する仕組みの全体像を確認する。

Railsでデータが保存される仕組みを知る

データの保存には、大きく分けて2つの機能が関わっている。

  1.  データの投稿画面を表示する
  2.  データの保存を行う

コントローラーのアクションでいうと「new」と「create」に相当する機能である。

機能を追加するときは、どのアクションに記述するかが大切なので、もう一度7つのアクションを確認しておく。

アクション名 役割
index リソースの一覧表示を行う
show リソースの詳細表示を行う
new リソースの新規登録画面を表示する
create リソースの追加を行う
edit リソースの編集画面を表示する
update リソースの更新を行う
destroy リソースの削除を行う

 

新規投稿画面の表示

最初に、ユーザーが投稿をするための登録画面が表示されるまでの流れを確認する。

https://tech-master.s3.amazonaws.com/uploads/curriculums//d616558bc43b447ae078367f055c3bcd.png

投稿画面の表示については非常にフローがシンプルである。
先に学習した一覧表示の画面と似ている。
しかも、これからデータを投稿する画面なのでデータベースからデータを取得する必要もない。

その代わりに、ユーザーがデータを入力するための「フォーム」が必要になる。

後の投稿でその使い方を学習する。

データを保存する仕組み

保存の仕組みは複雑なので、後の投稿で詳しく確認を行います。
ここでは、大まか流れだけ押さえておく。

https://tech-master.s3.amazonaws.com/uploads/curriculums//5243c9d7c2fc51e5ddc2ed3819a950bc.png

  1. ユーザーが投稿内容を入力して「送信」ボタンをクリックすると、その入力内容が送信される。
    送信先のURLは、tweetsコントローラーの「create」アクションが呼ばれるURLと一致している。
  2. コントローラーが呼ばれたら、送信されたデータを取得するメソッドを使う。
    paramsという名称のハッシュにデータが入っているため、それを取り出してモデルに保存するよう依頼する。

    このとき、悪意のあるユーザーの入力からアプリを守るために、「ストロングパラメータ」という仕組みが用意されている。

  3. 実際にテーブルにデータが保存されてフローは完了。

以上がデータベースに保存をするときの全体的な流れである。
次からは実際にコーディングを行いながら詳しく内容を見ていく。

 

要点チェック