これは、探しているものとかなり似ています: http://maxresponsemedia.com/rails/setting-up-user-subdomains-in-rails-3/。
編集
リンクは現在無効になっているようです (これが、単なるリンク以外のものを投稿する必要がある理由です!) が、WayBackMachine でそれを見つけることができました。これが持っていたコード例です。
まず、サブドメインとルート ドメインに対していくつかの制約を定義します。
# /lib/domains.rb
class Subdomain
def self.matches?(request)
request.subdomain.present? && request.subdomain != "www" && request.subdomain != ""
end
end
class RootDomain
@subdomains = ["www"]
def self.matches?(request)
@subdomains.include?(request.subdomain) || request.subdomain.blank?
end
end
次に、routes.rb で、サブドメインを Web サイト コントローラーに転送しますが、メイン サイトに関連するドメインへの要求は、アプリ用に構成された静的ページに送信されます。
# config/routes.rb
# a bunch of other routes...
# requiring the /lib/domains.rb file we created
require 'domains'
constraints(Subdomain) do
match '/' => 'websites#show'
end
constraints(RootDomain) do
match '/contact_us', :to => 'static_pages#contact'
match '/about', :to => 'static_pages#about'
match '/help', :to => 'static_pages#help'
match '/news', :to => 'static_pages#news'
match '/admin', :to => 'admin#index'
end