2010-06-12 2 views

ответ

3

Это говорит о том, что photo маршрут будет распознан и направляется к контроллеру только если запрос содержит поддомен admin. Например, приложение Rails ответит на запрос http://admin.example.org/photo, но не http://example.org/photo.

+0

ОК спасибо. но какой контроллер и индекс будет использовать этот маршрут? –

+0

Какой бы вы ни хотели. Например: 'match 'photo' => 'photos # show',: constraints => {: subdomain => 'admin'}' –

+0

, но в маршрутизации, которую я опубликовал, нет контроллера и действия? –

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) 

Очевидно, что вы можете разработать ограничения для ваших потребностей, но Стив описал пару разных вариантов.