Rails 3 Routing - Как я могу использовать параметры из корневого маршрута? - PullRequest
2 голосов
/ 14 июля 2011

Я новичок в Rails и столкнулся с препятствиями на маршрутах в небольшом приложении, которое я пишу -

Я хотел бы использовать корневой маршрут для сопоставления параметров с конкретным контроллером -

Например, допустим, у меня есть контроллер VariablePageController, который будет отображать различное содержимое на основе параметра в URL.

Таким образом, когда кто-то посещает мой сайт, mysite.com перейдет на домашнюю страницу, но mysite.com/[pagename] пройдет через мой VariablePageController, но пользователь останется на mysite.com/[pagename], а НЕ на mysite. .com / VariablePage / [pagename] -

Переменная [pagename] генерируется динамически, поэтому я не могу перечислить все возможности в routs.rb ...

Как бы достичь этого эффекта при маршрутизации?

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Хорошо, я нашел ответ, для всех, кто заинтересован ...

То, что я, по сути, хотел, но я думаю, не очень хорошо описывал, это были "слизняк" или "дружественные" ссылки, основанные наURL-адрес root, а не / controller / route.

Для этого - выполните что-то вроде этого в route.rb: Стандартный маршрут для домашней страницы

root: to => "page # index"

Домашний маршрут на основе параметров

match ': url' => "page # show"

1 голос
/ 14 июля 2011

Вы можете сделать простой именованный маршрут, например

match '/pagename' => "variablepage#pagename", :as => "pagename"

, тогда ваша ссылка будет выглядеть следующим образом

<%= link_to pagename, pagename_path %>

или

<%= link_to "pagename", pagename_path %>

после этого в вашему вас есть контроллер переменной страницы

def pagename
.....
end

Надеюсь, это поможет вам

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