目次
①結論
②find_byメソッドとは
③find_byメソッドの使い方
①結論
find_byメソッド使用する。
②find_byとfindの違い
データ取得方法の違い
1. @user = User.find(params[:id])
2. @user = User.find_by(email:params[:email],password:[params:password])
1については、idの値を指定してデータを取得している
2については、カラムを指定してデータを取得している
③find_byメソッドの使い方
入力されたデータをもとにユーザーなどを見つけ出したいときに使用する。
例えばログイン機能を実装する場合、メールアドレスやパスワードを入力してログインするが、これは入力されたデータをもとにユーザーを探しているので、find_byメソッドを使用することになる。
余談ですが、ユーザーを探した結果が存在する場合と存在しない場合で場合を分けて考える必要がある。
下記のように記述する。
def アクション名
@user = User.find_by(email:params[:email],password:params[:password])
if @user
redirect_to ◯◯◯◯
else
render ◯◯◯◯
end
end