パラメーターとはリクエストに含まれる外部からくるデータのこと。URLに含まれるものやフォーム入力から渡されるパラメーターがある。
パラメーターはコントローラーにたどり着くとparamsというハッシュのような構造のものに格納される。
paramsとは送られてきたパラメーターをハッシュのような構造で格納したもの。フォーム入力でパラメーターが送られてきた場合
フォームで入力(入力されたものがパラメーター) → コントローラでパラメーターがparamsに格納され、パラメーターを取得するカラムを指定する → モデル → データベース内のテーブルへ
という流れでパラメーターをparamsに入れてデータベースへ運んでいく。
例えば、HTTPメソッドがpost、URL名がposts、コントローラ名がposts、アクションがcreateの場合ルーティングの設定は
post 'posts', to: 'posts#create'
★createは保存のための newアクション→情報の記述→saveアクション の流れを引数を利用することで実行できるメソッドで モデル.create(カラム名: 変数名) で定義できる。
となりコントローラーでアクションと保存の処理を定義。contentカラムでパラメーターを取得したい場合
def create
Post.create(content: params[:content])
end
ビューファイルでブラウザに表示されるパラメーターを入力するためフォームを定義
<%= form_with url:”/posts”,method: post, local: true do |form| %>
<%= form.text_field :content %> #入力されたパラメータをコントローラーで定義した変数[:content]へ代入するという記述
<%= form.submit ‘投稿する’ %>
<% end %>
といむ流れでパラメーターはデータベースへ保存される。