Ruby on rails 从rails 3到4的多域路由应用程序失败无效路由名称,已在使用:';根';(错误)
有这样一个routes.rb的旧rails 3应用程序Ruby on rails 从rails 3到4的多域路由应用程序失败无效路由名称,已在使用:';根';(错误),ruby-on-rails,ruby,routing,multiple-domains,Ruby On Rails,Ruby,Routing,Multiple Domains,有这样一个routes.rb的旧rails 3应用程序 RailsAppli::Application.routes.draw do root :to => "landing#pos", :constraints => { :host => "pos.com.ar" } root :to => "landing#desa", :constraints => { :host => "desa.com.ar" } root :to => "l
RailsAppli::Application.routes.draw do
root :to => "landing#pos", :constraints => { :host => "pos.com.ar" }
root :to => "landing#desa", :constraints => { :host => "desa.com.ar" }
root :to => "landing#plan", :constraints => { :host => "dise.com.ar" }
这很好,但我升级到rails 4和
无效的路由名称,已在使用:'root'(ArgumentError)
有什么问题吗
谢谢。根据以下内容更新答案: 缩短: 1) 在lib/domain_constraint.rb中定义自定义约束类:
class DomainConstraint
def initialize(domain)
@domains = [domain].flatten
end
def matches?(request)
@domains.include? request.domain
end
end
2) 在管线中使用具有新块语法的类
constraints DomainConstraint.new('mydomain.com') do
root :to => 'mydomain#index'
end
root :to => 'main#index'
还是老式的选项语法
root :to => 'mydomain#index', :constraints => DomainConstraint.new('mydomain.com')
好了
只有一个根
然后
谢谢好的,谢谢。但我需要在我的应用程序中将不同的域名根到特定的登陆点。像pos.com.ar到landing#pos.在rails 3中,这个routes.rb很好rails 4的方向是什么?谢谢谢谢,但我需要域名,是不同的域名,一个应用程序为这些域名提供不同的登录页。好的,看这个:你的应用程序的域名是什么?
RailsAppli::Application.routes.draw do
get '/', :to => "landing#pos", :constraints => { :host => "pos.com.ar" }
get '/', :to => "landing#desa", :constraints => { :host => "desa.com.ar" }
get '/', :to => "landing#plan", :constraints => { :host => "dise.com.ar" }