有人可以描述一下这是什么吗?
它位于路由文件中:
match "photo", :constraints => {:subdomain => "admin"}
我无法理解。
感谢
答案 0 :(得分:3)
如果请求包含子域photo
,则只会识别admin
路由并将其路由到控制器。例如,Rails应用程序将响应http://admin.example.org/photo的请求,但不响应http://example.org/photo。
答案 1 :(得分:1)
我们的一个人posted this today描述了如何重复使用具有不同上下文的相同路由(在这种情况下,用户是否已登录)
例如,如果您创建一个简单的类来评估true / false:
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)
显然你可以根据自己的需要设计约束,但Steve描述了几种不同的变体。