Rails роутинг в корень - PullRequest
       1

Rails роутинг в корень

2 голосов
/ 01 марта 2011

При настройке корневого маршрута есть ли веская причина выбрать этот синтаксис:

map.root :controller => "login", :action => 'show'

вместо этого синтаксиса:

match "/" => "login#show"

Второй синтаксис позволит вам использовать:constraints вариант, где первый не будет.Есть ли причина использовать первый вариант?

Ответы [ 4 ]

4 голосов
/ 01 марта 2011

При использовании root :to rails 3 автоматически создает вспомогательные методы root_url и root_path для ссылки на корневой каталог вашего приложения. Эти методы часто используются в гемах для ссылки на корневой каталог ваших приложений, и я не совсем уверен, куда они будут указывать или будут ли они работать, если вы ничего не укажете (никогда не пробовали). К тому же, это "рельсовый способ" ведения дел , поэтому обычно лучше следовать, если у вас нет действительно веской причины.

2 голосов
/ 01 марта 2011

Я считаю, что корневые маршруты должны быть настроены следующим образом:

root :to => "Something#index"

Методы, которые вы предложили, звучат так, как будто они могут вызвать конфликты в будущем.

1 голос
/ 10 августа 2013

В Rails 4 вот более быстрый код, который вы можете использовать:

 root 'login#new_session'

Вы можете заменить new_session на show / index / etc, просто убедитесь, что он определен в вашем контроллере входа.

0 голосов
/ 01 марта 2011

Я думаю, что следующие два одинаковы:

root :to => 'login#show'

match '/' => 'login#show', :as => :root

Точно так же, как и другие пути, если вы хотите root_path, то для match '/' вы должны указать его самостоятельно.

Так что я думаю, что они просто делают то же самое (перенаправляя вас к login#show, если путь /), но первый из них будет иметь более семантическое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...