##はじめに
この記事はrails初学者が勉強のアウトプットとして書いた記事です。
自分なりに調べて書いたものですが、初心者ゆえに間違っている箇所もあるかと思います。
その場合はご指摘いただけると嬉しいです。
##updateメソッドとは?
すでにテーブルに保存されているデータを新しいデータに更新するメソッド。
railsには他にも更新するメソッドはあるが、
安全面上、基本的にはupdateメソッドを使ったほうがいい。
##何で安全なの?
更新の際に、バリデーションとコールバックが適用されるため。
##基本的な使い方
@user = User.find(1) #①変数に更新したいレコードの情報を入れる
@user.update( name: "Taro", age: 20 ) #②updateメソッドで更新する
①変数に更新したいレコードの情報を代入し、②updateメソッドで更新します。
updateメソッドの引数には更新したい値をハッシュ形式で記述します。
##実際の実装での、updateメソッドの使い方
更新したい値をハッシュ形式で入れるのではなく、
ストロングパラメータを使用してデータを更新することの方が多い。
(使用した方が安全に情報を更新できるため)
class UserController < ApplicationController
def update
@user = User.find(params[:id]) #①変数に更新したいレコード情報を代入
@user.update(user_params) #②updateメソッドを実行する
end
private
#③ストロングパラメータを使って、指定したカラムの情報だけを受け取るようにする。
def user_params
params.require(:user).permit(:name, :age)
end
end
##参考にさせていただいた記事