1

Rails 3.2 アプリでサブドメインを使用していますが、request.subdomain は意味があり、アカウント リソースを設定するために使用されます。

私が名前付きルートに期待したデフォルトの動作は、サブドメイン オプションを使用しない限り、名前付きルートはホスト名の前に常に「www」を使用するというものでした。

たとえば、http://www.example.com/path/to/something にいた場合、次のことが当てはまります。

root_url                          # http://www.example.com/
root_url(subdomain: 'subdomain')  # http://subdomain.example.com/ 

私が正確に言えなかったのは理にかなっていますが、私がhttp://subdomain.example.com/path/to/something にいた場合、次のようになります。

root_url                          # http://subdomain.example.com/

これは問題ありませんが、コントローラーのリダイレクトとビュー ヘルパー リンクの多くは、「www」と「」を省略したサブドメインの制約外の URL 用です。したがって、アプリケーション全体に new_session_url(subdomain: 'www')、thing_url(subdomain: 'www') などを含めたくありません。

現在のサブドメインが何であるかに関係なく、サブドメインオプションが渡されない場合、名前付きルートをデフォルトで「www」にする方法はありますか?

4

1 に答える 1

3

次のようにルートをラップします。

defaults :subdomain => '' do
     routes
end
于 2012-10-16T19:04:50.433 に答える