2010-06-12 149 views

回答

3

它说,photo路线将只承认和路由到一个控制器,如果请求中包含的子域admin。例如,Rails应用程序将响应http://admin.example.org/photo的请求,但不响应http://example.org/photo

+0

好的谢谢。但该路线使用哪个控制器和索引? – 2010-06-12 15:22:07

+0

无论你想要什么。例如:'match'photo'=>'photos#show',:constraints => {:subdomain =>'admin'}' – 2010-06-12 15:38:26

+0

但是在我发布的路由中没有指定控制器和动作? – 2010-06-12 20:07:59

1

我们的一位球员posted this today描述,如果你创建一个简单的类来评价真/假,你如何能重复使用不同的上下文中走相同的路线(在这种情况下,用户是否登录)

例如:

class LoggedInConstraint < Struct.new(:value) 
    def matches?(request) 
    request.cookies.key?("user_token") == value 
    end 
end 

然后,您可以使用路由的评估,以确定哪些路由应用:

root :to => "static#home", :constraints => LoggedInConstraint.new(false) 
root :to => "users#show", :constraints => LoggedInConstraint.new(true) 

很明显,你可以设计对你的需求有限制,但史蒂夫描述了几个不同的变体。