Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 单Rails代码库、两台服务器、两个路由作用域 在具有名称空间/管理功能的Rails应用程序中,考虑以下路由: namespace :admin do root :to => 'home#index' [.. resources cut here..] end get 'etc/:etc' => 'etc#etc' [.. other top level routes cut..]_Ruby On Rails_Ruby_Routes - Fatal编程技术网

Ruby on rails 单Rails代码库、两台服务器、两个路由作用域 在具有名称空间/管理功能的Rails应用程序中,考虑以下路由: namespace :admin do root :to => 'home#index' [.. resources cut here..] end get 'etc/:etc' => 'etc#etc' [.. other top level routes cut..]

Ruby on rails 单Rails代码库、两台服务器、两个路由作用域 在具有名称空间/管理功能的Rails应用程序中,考虑以下路由: namespace :admin do root :to => 'home#index' [.. resources cut here..] end get 'etc/:etc' => 'etc#etc' [.. other top level routes cut..],ruby-on-rails,ruby,routes,Ruby On Rails,Ruby,Routes,如果我想将相同的Rails代码库部署到两个独立的服务器上,frontend.com仍然会看到顶级路由“etc/:etc” 但是,如果我想将相同的代码库部署到一个只支持管理员的服务器上,那么该怎么办呢?这样,请求就可以是namespace:admin,而不必键入或使用 在尝试使用.htaccess重写时,我在管理员命名空间代码中遇到了URL生成问题,以及无法正确加载资产 这只是不值得追求的东西吗 当然,可以在根语句周围使用条件语句 namespace :admin do root :to =&

如果我想将相同的Rails代码库部署到两个独立的服务器上,frontend.com仍然会看到顶级路由“etc/:etc”

但是,如果我想将相同的代码库部署到一个只支持管理员的服务器上,那么该怎么办呢?这样,请求就可以是namespace:admin,而不必键入或使用

在尝试使用.htaccess重写时,我在管理员命名空间代码中遇到了URL生成问题,以及无法正确加载资产


这只是不值得追求的东西吗

当然,可以在根语句周围使用条件语句

namespace :admin do
  root :to => 'admin#index'
  ...
end
if SOMETHING
  root :to => "admin#index"
end
(在本例中,我使用了AdminController而不是HomeController。)

用户可以键入,但在某些时候/admin可能会出现在浏览器的URL栏上


测试可以是主机名测试,也可以是ENV。您可以在vhost配置中设置ENV。

您知道如何从顶层转发到管理命名空间吗?如果有什么;root:to=>'admin::admin#index'或类似的东西?我猜应该是“admin/admin#index”。实际上,似乎root:to=>'admin::Home#index'(对于管理员名称空间,主控制器)起作用了!谢谢你的帮助。我相信这个问题现在已经解决了。