1

我正在使用我的 Rails 3.2 应用程序中的子域,其中 request.subdomain 是有意义的,用于填充 Account 资源。

我期望命名路由的默认行为是,无论我在哪个子域,命名路由总是在主机名之前使用“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/

这很好,但是我的许多控制器重定向和查看帮助程序链接都是针对我的子域约束之外的 url,它省略了“www”和“”。所以我真的不想在我的应用程序中使用 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 回答