Elegant Registration / Log in fix


I have an app which allows users to register using two different email
address suffixes only which identifies them as being from a certain

Let's call them @abcd.co.uk and @abcdefg.co.uk

The shorter version is just a contraction of the longer version and
are interchangeable for the users in their day to day email activity.
The problem is that some people register with the long form and then
try and log in using the short form.

This causes a headache for the admin who gets unnecessary emails.

What is the most Rails way to deal with this at log in and catch the
users error automatically but still allowing log in? i.e. make the app
insensitive to which email gets used for login / registration etc.

The app uses Resftul_authentication plugin



I don’t use Resftul_authentication, but without knowing the details of it personally I’d use a before_filter in ApplicationController (or SignupController and LoginController) to set params[:email] (or whatever) to the shorter email (gsub to replace the long one with the short one).

There may be a better way with Restful_authentication and you’ll need to find out the param names you need to change the values for, but that may point you in a direction to get it working…