In my project Users can sign up with just an email address (no password) and have limited access to the site. I want to add functionality so Users can later choose to set a password using Devise. Then parts of the site would require authentication for access.
(By way of example, on Craigslist you can post with just your email, but you have the option to create an account with email/password to access your past listings).
Using Devise on the User model, how can this be done? If I try to create a user without a password, Devise of course complains "password can't be blank".
A possible solution is to have two different models, for example User (email only) and Member (email and password), but I'm not sure it's ideal since the only difference between a User and a Member is that members have set a password.
Another possible solution would be to randomly generate a password and save that without telling the user. Then when they do want to create a password, force a password reset. But I'm not sure that's a good practice.
Thanks for any guidance you can provide.
Rails 4 Ruby 2.1.4