Rails Subdomain
Subdomains in rails are still a bit hairy.
This is a growing collection of helpers and monkey patches to make it better(tm).
Usage
My::Application.routes.draw do
subdomain /\A(www|)\Z/, default: "www" do
root to: "home#show"
end
subdomain :admin, module: "admin", as: "admin" do
root to: "admin/dashboard#show"
end
end
This will route http://mydomain.com and http://www.mydomain.com in the
first subdomain scope, and http://admin.mydomain.com in the second scope.
If you have different number of TLDs (the .com bit, default is 1) change
config.action_dispatch.tld_length in your config/application.rb or
any config/environments/*.rb file. For example, http://www.mydomain.com.au
would need to change the tld_length to 2 (.com.au).
When on the home show page, admin_root_path will render a full URL,
http://admin.mydomain.com/, because it knows you'll cross subdomains.
From the admin dashboard, admin_root_path will be /, but root_path
will be http://www.mydomain.com/.
There will be test helpers added for capybara/selenium/cucumber super-soon.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request