電子メールが既存のデータベースに既にある場合にのみユーザーが登録できる登録モジュールを構築しようとしています。
モデル:
- ユーザー
- 旧ユーザー
ユーザーの条件は
if OldUser.find_by_email(params[:UserName]) exists, allow user registration.
If not, then indicate error message.
これは、関数を実行して mysql クエリを実行するだけの PHP で行うのは非常に簡単です。しかし、Rails でそれを行う方法がわかりませんでした。カスタムバリデーター関数を作成する必要があるように見えますが、そのような単純な条件ではやり過ぎのようです。
それは非常に簡単なはずです。私は何を逃したのですか?
ポインターはありますか?
編集1:
dku.rajkumar によるこのソリューションは、わずかな変更で機能します。
validate :check_email_existence
def check_email_existence
errors.add(:base, "Your email does not exist in our database") if OldUser.find_by_email(self.UserName).nil?
end
このような場合、検証をモデルで行うのとコントローラで行うのとではどちらがよいでしょうか?