Я понял это:
constraints(:subdomain => /.+/) do
scope :module => "sites" do
root :to => 'public#welcome'
end
end
root :to => 'public#welcome'
Теперь, когда пользователь посещает "/" Sites :: PublicController, будет использоваться, если субдомен существует, но только PublicController, если субдомен не завершен. Добавление scope :module => "sites" do...end
делает мой файл маршрутов простым и управляемым.