0
1

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】form_withで送信した値をparams[:◯◯◯]を使ってコントローラーで取り出す方法。

Last updated at Posted at 2022-02-08

フォームに入力した値をコントローラーで取り出したいことがよくあるのですが、いつも忘れてググっているのでメモに残しておきます。

##結論
###送信したデータ一式

params[:<送ったモデル名>]

###特定のカラムのデータ

params[:<送ったモデル名>][:<カラム名>]

##具体例

例えば、フォームが以下のような場合。

<%= form_with(model: @glider_flight, local: true) do |f| %>
  # フォームの各パーツ
<% end %>

glider_flightというモデル宛てにデータを送信したら、コントローラーでは

  params[:glider_flight]

と記述する。

binding.pryで処理を止めて中身を確認すると、次のようなデータが取れていました。

=> #<ActionController::Parameters {"date"=>"2022-02-08", "departure_and_arrival_point"=>"", "glider_type"=>"", "glider_ident"=>"", "is_winch"=>"true", "flight_role"=>"機長", "takeoff_time"=>"21:02", "landing_time"=>"21:09", "release_alt"=>"400", "number_of_landing"=>"1", "takoff_and_landing_place"=>""} permitted: false>

また、この中のtakeoff_timeカラムに入った値を取り出したいときは

> params[:glider_flight][:takeoff_time]
=> "21:02"

同様に、dateカラムは

> params[:glider_flight][:date]
=> "2022-02-08"

間違っていたらやさしく教えてください。

##参考サイト

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?