0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

パラメーターとparams

Last updated at Posted at 2021-10-01

パラメーターとはリクエストに含まれる外部からくるデータのこと。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 %>

といむ流れでパラメーターはデータベースへ保存される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?