requireメソッドとpermitメソッドについて学習したため、アウトプットいたします。
この記事を読むと、require,permitメソッドの意味と使い方を理解できます。
#requireメソッドとは?
ストロングパラメーターのメソッドの1つで、paramsからとってくるデータのオブジェクト名を指定する。
※ストロングパラメーターについてわからない場合は、Googleで検索してみてください。
使い方例
def user_params
params.require(:user)
end
これによってユーザーというオブジェクトのデータを指定しています。
#permitメソッドとは?
ストロングパラメーターの1つで、paramsから取ってくるデータのキーを指定する。
使い方例
def
tweet_params
params_permit(:name, :text, :image)
end
つまり2つの違いはキーを指定するかオブジェクトを指定するか。
そのため、permitメソッドと、requireメソッドを同時に使うこともある。
例
def user_params
params.require(:user).permit(:name, :email, :password)
end
userオブジェクトを指定し、さらにuserオブジェクトのなかに定義されたname,email,passwordのキーを指定している。