Ruby on rails 3 如何将所有路由映射到Rails中的子域中
我有一个实时Rails应用程序。现在,我想将它们全部重新路由到一个子域dev.mydomain.com 例如,当前路径Ruby on rails 3 如何将所有路由映射到Rails中的子域中,ruby-on-rails-3,rails-routing,Ruby On Rails 3,Rails Routing,我有一个实时Rails应用程序。现在,我想将它们全部重新路由到一个子域dev.mydomain.com 例如,当前路径mydomain.com/users/1应该变成dev.mydomain.com/users/1。我的网页中的所有链接也应该有效 我该怎么做 非常感谢 编辑:我之所以要这样做,是因为我想对访问者隐藏我的应用程序,并将他们重定向到其他登录页。您可以执行以下操作 在config/lib目录中创建一个名为subdomain.rb的文件,然后将其添加到其中 class Subdomain
mydomain.com/users/1
应该变成dev.mydomain.com/users/1
。我的网页中的所有链接也应该有效
我该怎么做
非常感谢
编辑:我之所以要这样做,是因为我想对访问者隐藏我的应用程序,并将他们重定向到其他登录页。您可以执行以下操作
class Subdomain
def self.matches?(request)
if request.subdomain == "www" || request.subdomain.blank? || request.subdomain.empty? || request.subdomain.nil?
false
else
true
end
end
end
require 'subdomain'
DemoApp::Application.routes.draw do
constraints(Subdomain) do
constraints(:subdomain => 'dev') do
resources :users
root :to => "someother#page"
end
end
root :to => "default#index"
# and any other routes you would like to expose to www or no subdomain.
end
要运行我的应用程序,我倾向于使用,我也会推荐同样的应用程序 你弄乱了术语路径和url。您想归档什么,查看:host参数hi,我之所以要这样做是因为我想对访问者隐藏我的应用程序,并将它们重定向到另一个登录页。
dev.myomain.com
和mydomain.com
是分开的rails应用程序吗?您的部署堆栈是什么?(Apache、nginx、thin、webrick?)没有。它们在同一个应用程序中。该应用程序处于隐藏模式,我只想让我的登录页向访问者公开dev.mydomain.com
将向朋友和受邀访客展示该应用程序。