paramsとhtmlの理解(初心者の方向け)
paramsとhtmlの理解がありませんでしたがアウトプットします。
webアプリケーションのサービス構造は基本的には、お客さんが投稿し、それをデータベースに保存し、さらにそれをどこかしらのページから見れるようにするというもの。
それをrailsでコーディングした場合の中身の解説をします
paramsとは?
初めてrailsを触って、paramsはパラメータを入れる箱だとか言われても、パラメータは「サービスの利用者がサーバに対して送ってきた値」と考えれば良いかと思います。そして、その値を格納するための箱がparamsになります。
例えば、このような感じです。
params[:title]
titleという名前のついたパラメータを利用者が飛ばし、それを格納しています。
要は、これはお客さんが送った値だということをrails側に伝えている訳です。
しかし、上の動作を行うためには、お客さんが送ったデータにtitleという名前をつけてあげなければいけません。
それをするのがhtmlの役割です。
お客さんが送った値をどうとるのか
htmlのコードを見てみましょう。
<label>タイトル</label>
<input type="text" name="title">
これがお客さんが送る側のフォームのコーディングになります。
labelは入力フォームの名前。
inputはこれは入力フォームだということを教えてくれています。
typeは、このフォームは文章を入れるためタイプのフォームですよと設定してくれています。
nameがここに入力された内容はtitleという名前がつけられますよとしてくれています。
お分かりだとは思いますが、このnameがパラメータの名前になります。
ここに書かれたデータ内容は問答無用でtitleという名前がつけられ、サーバに送られます。
最後にサーバーに保存する
今までの流れを確認します。
まず、htmlのフォーム画面からデータがサーバに送られ、そのデータには名前がついている。今回は"title"。
それをparamsの箱に格納する。
そのデータをrails側で保存するという流れが先に続きます。
@book.title = params[:title]
@book.save
bookのタイトルというカラムに送られてきたデータを格納し、そのままデータベースを保存するという形になります。
専門用語はガンガン聞いた方が良いと個人的に思います。
自分もまだまだ初心者ですが、教えてくれる方は専門用語ガンガン使います。先ほどで言えば、パラメータとかカラムとかただ何も知らない人からすればって感じなので、その都度聞いた方が学習速度が早まるかと思います。
本日は以上です。