0

名前空間付きの /admin 機能を備えた Rails アプリケーションでは、次のルートを検討してください。

 namespace :admin do
   root :to => 'home#index'
   [.. resources cut here..]
 end

 get 'etc/:etc' => 'etc#etc'
 [.. other top level routes cut..]

同じ Rails コードベースを 2 つの別々のサーバーにデプロイしたい場合、frontend.com はトップ レベルのルート 'etc/:etc' を参照します。

しかし、同じコードベースを管理者のみのサーバーにデプロイしたい場合はどうでしょうか。つまり、リクエストが単純にhttp://backend.comになり、 httpを入力したり使用したりすることなく、ネームスペース :admin がトップ レベルとして引き継がれるようにします。 //backend.com/admin .

.htaccess の書き換えを試みたところ、admin 名前空間コード内で URL 生成の問題が発生し、アセットが適切に読み込まれなくなりました。

これは追求する価値のないものですか?

4

1 に答える 1

1

もちろん、ルート ステートメントの前後に条件を付けることができます。

namespace :admin do
  root :to => 'admin#index'
  ...
end
if SOMETHING
  root :to => "admin#index"
end

(この例では、HomeController の代わりに AdminController を使用しました。)

ユーザーはhttp://backend.com/と入力できますが、ある時点でブラウザーの URL バーに /admin が表示されることがあります。

SOMETHING は、ホスト名または ENV のテストである可能性があります。vhost構成でENVを設定できます。

于 2012-05-04T19:20:03.507 に答える