Monday, March 15, 2010

Rails Webapp: Closed Alpha Build

Ever want to use your webapp while it's still a closed alpha? Me too.

My solution is to only let people who have a passphrase create an account. Thanks to a suggestion by Rob125 in freenode's #RubyOnRails channel, I found the easiest way to do this was to modify 3 files.

  1. Create a constant in your do |config| method (config/environment.rb):

    Note you'll need to restart your app server for this to take effect.

    MY_SECRET_PHRASE = "econometrics is fun!"

  2. Add a textbox to your signup form (app/views/users/new.html.erb if using restful_authentication):

    <p>What's the passphrase?<br />
    <%= text_field_tag 'passphrase' %></p>

  3. Compare the constant to your parameter in the create method of the Users controller (app/controllers/users_controller.rb):

    @secret = params[:passphrase]
    if @secret == MY_SECRET_PHRASE then
      #all that successful stuff...
      #all that flash[:error] stuff...

And there you have it. Easy to only allow access to a few a people while testing and easy to get rid of when it's time to truly go live. There is a drawback in the form of overhead that comes with an initializer, but certainly it's a fair tradeoff for a quick solution to a temporary problem.

No comments:

Post a Comment