我正在尝试使用SubdomainFu在我的Rails 2.3.10应用程序中设置一个子域 - 尝试设置m.domainname.com我正在努力的方面是尝试为子域定义一个默认路由与主应用程序的默认路由不同。
如果这是我的子域的路由命名空间:
map.namespace :mobile, :path_prefix => '', :conditions => { :subdomain => 'm' } do |mobile|
map.connect '/', :controller => 'mobile/mobile'
end
然后在我的路线文件中稍微向下,我有我的默认路线:
map.default '/', :controller => 'pages', :action => 'home'
命名空间的默认路由是覆盖主要的默认路由。如果我将主要默认路由移到命名空间之上,那么它优先。
关于如何最好地构建路径文件并为子域定义默认路由的任何建议?
谢谢!
答案 0 :(得分:0)
命名空间块中的行map.connect '/'
仍然使用主map
对象,这意味着路由匹配就像它周围的命名空间块已经消失一样(因此匹配的第一个路由) - 正在使用移动控制器。)
将其更改为mobile.connect '/' ...
(即使用您创建的mobile
块变量)应该可以解决您看到的错误。