7
2

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 1 year has passed since last update.

パラメータとは
railsアプリケーションは、フォームに記述した内容を送信した時、Parametersという名のハッシュ値に変換します。そしてRailsアプリケーション内部へと送り込みます。

rails sの画面で

Processing by BlogsController#create as HTML
  Parameters: {"utf8"=>"✓",
   "authenticity_token"=>"TTwmgIC9+5Z+/
   TvIwMOGYiJv05QhpSEgp6oh9Kkbd8Fyu8JD2hp5Ds1E3P7no
   jFyqAoWW1FXEnJww1BdmbZlcg==",
   "blog"=>{"title"=>"hoge", "content"=>"fuga"},
    "commit"=>"Create Blog"}

上記のような感じになります。
Parametersという名のハッシュ値ができていることが確認できます。
この送られてきたパラメータ(Parameter)は、Railsがデフォルトで常備しているparamsメソッドを使用することで取得できます。

def create
    Blog.create(title: params[:blog][:title], content: params[:blog][:content])
end

上記はcreateアクションを作り、paramsメソッドを利用してparameterを取得しています。

parameterは詳細に見ると、{"blog"=>{"title"=>"hoge", "content"=>"fuga"}} のようになっています。

上記のようなハッシュの中にある、ハッシュ要素を抜き出すためには、
params[:blog][:title]  params[:blog][:content]
このような形で抜き出すことができます。

また、シンボルを使って、ハッシュを抜き出す事ができる理由も、railsガイドに以下の記載がありました。

(引用)『 paramsハッシュはハッシュのように振る舞いますが、キー名にシンボルと文字列のどちらでも指定できる点がハッシュと異なります。 』
https://railsguides.jp/action_controller_overview.html#ハッシュと配列のパラメータ

7
2
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
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?