コードのリファクタリングを学んでいますが、自分のアプリケーションにある sessions_controller のリファクタリングに問題があります。これは「教えて聞かない」という原則に違反しています。独自のクラスにいくつかのロジックを抽出することを考えていますが、その方法がわかりません。これはコントローラーからのコードです。
class SessionsController < ApplicationController
def create
admin = Admin.find_by(email: params[:sessions][:email])
if admin && admin.authenticate(params[:sessions][:password])
sign_in admin
redirect_to anasayfa_path
flash[:success] = 'Başarılı şekilde giriş yapıldı'
else
redirect_to root_path
flash[:error] = 'Giriş bilgilerinde bir hata var'
end
end
end
これをどのようにリファクタリングしますか?抽出することを考えました
admin && admin.authenticate(params[:sessions][:password])
このメソッドからですが、それが最善の方法でしょうか?これを抽出した場合、クラスをどこに配置しますか?