public
Description: Account Location Plugin
Homepage: http://rubyonrails.org
Clone URL: git://github.com/rails/account_location.git
dhh (author)
Sun Oct 08 18:04:56 -0700 2006
commit  3d0bf6be44530fb043787f42c5ef943244c03367
tree    a8c574f6700f51d26373a4cbdb70e1ab5b1a9e11
parent  fc61507ea80c12c50ffe02803bcbeae9fd13788a
name age message
file README Sun Oct 08 18:04:56 -0700 2006 Docfix (closes #6044) [dhh]
directory lib/ Sat Mar 25 10:55:32 -0800 2006 [account_location] add #account_subdomain as he... [technoweenie]
directory test/ Sat Oct 29 07:55:50 -0700 2005 Added AccountLocation for helping with HowToUse... [dhh]
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