Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 README
README
Account Location
================

Account location is a set of protected methods that supports the account-key-as-subdomain 
way of identifying the current scope. These methods allow you to easily produce URLs that
match this style and to get the current account key from the subdomain.

The methods are: account_url, account_host, and account_domain.

Example:

  class ApplicationController < ActionController::Base
    include AccountLocation
    before_filter :find_account
    
    protected
      def find_account
        @account = Account.find_by_username(account_subdomain)
      end
  end

  class AccountController < ApplicationController
    def new
      @new_account = Account.create(params[:new_account])
      redirect_to :host => account_host(@new_account.username), :controller => "weblog"
    end
    
    def authenticate
      session[account_domain] = :authenticated
      redirect_to :controller => "weblog"
    end
    
    protected
      def authenticated?
        session[account_domain] == :authenticated
      end
  end
  
  # The view:
  
  Your domain: <%= account_url %>

By default, all the methods will query for @account.username as the account key, but you can
specialize that by overwriting default_account_subdomain. You can of course also pass it in
as the first argument to all the methods.


Copyright (c) 2005 David Heinemeier Hansson, released under the MIT license
Something went wrong with that request. Please try again.