Railsのサブドメインを数日間調べてきましたが、これについての適切な説明はまだ見つかりません...
ブログが統合されたRailsアプリがあり、そのブログをサブドメインに配置したいと思います。つまり。blog.myapp.com
。
さて、ブログ内で、ユーザーが投稿を表示できるようにしたいと思いますblog.myapp.com/posts/123
。ただし、ユーザーがサイト上の他のリソースをクリックした場合、videos
たとえば、ルートにリダイレクトされるようにします。www.myapp.com/videos/123
。ルーティングエラーを発生させたくありませんblog.myapp.com/videos...
。リダイレクトしたいだけです。
基本的に、私はサブドメインを設定し、特定のコントローラーがそのサブドメインを使用し、他のコントローラーは使用しないように指定する最も簡単な方法を探しています。理想的には、コントローラーレイヤーで双方向のリダイレクトを処理して、ビューでヘルパーを使用するだけで前後にリンクできるようpost_path(123)
にvideo_path(123)
し、サブドメインが自動的に使用されるか、どのコントローラーがサービスを提供しているかに基づいて使用されないようにします。見る。
すべてのコントローラーを制約ブロックに入れてみました。つまり、次のようになります。
constraints :subdomain => 'www' do
resources :sessions
resources :users
resources :videos
root :to => 'home#show'
end
constraints :subdomain => 'nexturb' do
resources :posts
root :to => "posts#index"
end
root :to => 'home#show'
ただし、これはうまく機能していないようです。特に、リンク間のリダイレクトを非常に一貫して機能させるのに問題がありました。
他の人が過去にこの問題に遭遇したに違いないと私は確信していますが、私はこの状況の良い例を書面で見つけることができないようです。これを処理するための最良の方法は何ですか?