2

Railscast に従って、Rails アプリにサブドメインを追加しまし。要求されたサブドメインが存在しない場合、サブドメインなしでルート ドメインにリンクする方法がわかりません。

私は自分のapplication_controller.rbファイルに以下を追加しようとしました

redirect_to root_path(subdomain: false) if @city_or_state.nil?

where@city_or_stateは、要求されたサブドメインが有効であるかどうかを判断します。はredirect_toルートに戻りますが、サブドメインは削除しません。

たとえば、ユーザーがアクセスしようとするinvalid.domain.comと、ルートにリダイレクトされますが、サブドメインは削除されません。

invalid.domain.comにリダイレクトしようとしていますdomain.com

4

2 に答える 2

4

はい、分かりました。私は以下を使用しなければなりませんでした:redirect_to root_url(:host => request.domain)

試したところroot_path(:host => request.domain)、うまくいきませんでした。でのみ動作しroot_urlます。

ここでダニエル・ケホーからのいくつかのコメントで答えを見つけました

存在しないドメインにアクセスしようとすると、無効なサブドメインが URL から削除されます。

于 2013-04-30T23:01:10.417 に答える