多域路由应用程序从轨道3〜4失败无效的路由名称,已在使用中:“根”(引发ArgumentError)
已经和老轨3的应用程序,像这样多域路由应用程序从轨道3〜4失败无效的路由名称,已在使用中:“根”(引发ArgumentError)
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" }
这就是做工精细一个的routes.rb但我升级到导轨4和
无效的路由名称,已在使用中:“根”(引发ArgumentError)
请告诉我问题。
谢谢。
更新的答案基于:Separate Domain for Namespaced Routes in Rails 4
缩短:
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登陆#pos。在rails 3中这个routes.rb很好,最新是rails 4的方式吗?谢谢 – derfarg
谢谢,但我需要的域,diferents域和一个应用程序服务这些域的不同着陆页。 – derfarg
好吧看到这个:http://stackoverflow.com/questions/24122140/separate-domain-for-namespaced-routes-in-rails-4 – nateleavitt
完成!
只有一个根。
然后
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" }
感谢
什么是你的应用的领域? – nateleavitt