Rails 3 Foreign Domain routing - cannot get this to work!

Hello,     I'm trying to build an app (mysuperapp.com) that allows users to create an account in which a default subdomain (IE: joeshmoe.mysuperapp.com) will be created as their homepage. In their profile settings, I also want to give them the ability to add their own domain name so their homepage now can be joeshmoe.com. I know this is possible in rails w/ plugins like subdomainfu and w/out plugins in rails3. I've searched countless websites on the subject and I'm attempting to build an app based on this example:


so, as in this example, I've created lib/personalized_domain.rb

[code] # lib/personalized_domain.rb class PersonalizedDomain   def self.matches?(request)     case request.host     when 'www.#{APP_CONFIG[:domain]}', '#{APP_CONFIG[:domain]}', nil       false     else       true     end   end end [/code]

and in my routes I have this:

[code] # config/routes constraints(PersonalizedDomain) do   namespace :personalized, :path => '/' do     root :to => "projects#show"     resource :project   end end

root :to => "home#index" [/code]

in my model I have:

[code] # app/models/project.rb before_validation :cache_domain

validates_uniqueness_of :subdomain,                         :cached_domain validates_uniqueness_of :cname_alias,                         :allow_blank => true validates_presence_of :subdomain,                         :cached_domain validates_exclusion_of :subdomain,                         :in => %w(admin blog),                         :message => "is taken"

def cache_domain   self.cached_domain = if self.cname_alias.blank?     "#{self.subdomain}.#{APP_CONFIG[:domain]}"   else     "#{self.cname_alias}"   end end [/code]

as per the example, my base controller: [code] # app/controllers/personalized/base_controller.rb class Personalized::BaseController < ApplicationController   before_filter :get_project

protected   def get_project     @project = Project.first(:conditions => {         :cached_domain => request.host     })   end end [/code]

One thing I noticed, in PersonalizedDomain, was that if I put a debug statement in the self.matches? method as such:

[code] class PersonalizedDomain   def self.matches?(request)     Rails.logger.info("****(PersonalizedDomain::self.matches?)-->>APP_CONFIG[:domain]: #{APP_CONFIG[:domain]}")     case request.host     when 'www.#{APP_CONFIG[:domain]}', '#{APP_CONFIG[:domain]}', nil       false     else       true     end   end end [/code]

the debug statement never get's executed.

Thanks for any help

Please ask this question on the rubyonrails-talk mailing list, as this list is for issues pertaining to the core framework.

And no, even that Passenger issue is not related to this mailing list.