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.

updateメソッドの使い方

Posted at

##はじめに
この記事は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

##参考にさせていただいた記事

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?