#目次
①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メソッドをつかう。