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.

mergeメソッドについて

Last updated at Posted at 2021-01-28

#目次
①mergeメソッドとは
②どんな時にしようするのか
③まとめ

##①mergeメソッドとは
ハッシュを結合させる時に使うRubyのメソッド

##②どんな時にしようするのか
結論は、ハッシュを結合させる時。
例えば、form_withでユーザーが投稿した内容はハッシュの中に、キーと一緒に入っているが、ユーザーが記入しない内容も保存したい時に使う。ユーザーのidやその商品のidについては、ユーザーが直接入力することはないが、パラメーターに含めて、DBの保存したい。そのような時に、mergeメソッドを使って、パラメーターに含めたいキーと値を記述する。下記の例では、user_idをcrrent_user.idから、item_idをURLに含めたparamsから取ってきて、パラメーターに含めている。

 def image_params
    params.require(:image).permit(:memo,:text).merge(user_id:current_user.id,item_id:params[:id])
 end

##③まとめ
requireで指定したモデルに対して送られるパラメーター以外に、他のカラムと該当するデータを持ってきたい時に、mergeメソッドをつかう。

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?