2010-06-12 119 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) 

很明顯,你可以設計對你的需求有限制,但史蒂夫描述了幾個不同的變體。