サイト
サイトについて
やったこと
controllerのリファクタリング
現状は「とりあえず動かすこと」を優先して実装したので、ほぼ全ての処理がcontrollerに集中していたので、これをリファクタリングしていく。
レコードを作成する、検索するのはmodelの役割
当サイトでは、不正な利用を防止するために、一定期間見積もりのログを保存している。
レコードの保存処理をcontrollerから各modelに移管する。
こんなのとか。
def self.create_mitumori_log(params, email) create(email_id: email.id, bukken_name: params[:room_name], url: params[:url],shop_names: params[:shop_list]) end
こんなのも。
def self.find_or_create_email(mail) Email.find_or_create_by(email: mail) end def sent_before?(url) mitumori_logs.select { |log| log.url == url }.present? end
controllerに書く処理はなるべく画面遷移、画面の描画、parameterの処理に限定する
リファクタリング後にcontrollerに残す処理は、なるべく画面遷移、画面の描画、parameterの処理に限定する。