Рельсы Маршруты Вопрос - PullRequest
2 голосов
/ 23 апреля 2011

У меня есть действительно простое приложение, которое я создал с использованием RoR, но я застрял, изменяя свои маршруты.

В основном это сайт, который перечисляет информацию о пользователях - мне нужно изменить URL с:

mydomain.com/users/user-1

до

mydomain.com/user-1

Обновление ..

Мне удалось направить вышеуказанный запрос, используя:

match "/:id", :controller=>"users", :action=>"show"

Но то, что мне действительно нужнодля этого нужно изменить маршрут для всех запросов с /users/# на /

Хотя мой маршрут работает, все мои ссылки для отображения пользователя по-прежнему указывают на:

/users/user-#

-- Обновление ---

Маршрутизация для / user-id теперь работает отлично, но сейчас я борюсь с остальной маршрутизацией.

Теперь я могу перейти к http://localhost/user-1

Однако мне нужно полностью удалить / user / part.Когда я редактирую / обновляю страницу, я получаю следующее:

/ users / user-1 / edit

Все работает нормально, но затем перенаправляется на "

/ users / user-1 /

Мне очень нужно, чтобы оба из них перенаправили на

http://localhost/user-1/edit

Спасибо

Боб

Ответы [ 3 ]

2 голосов
/ 26 апреля 2011

Вы хотите:

resources :users, :path => '/'
1 голос
/ 23 апреля 2011

Я считаю, что get ":id" => "users#show" будет во многом таким же, за исключением того, что вы разрешите только HTTP GET. Надеюсь, что это работает.

1 голос
/ 23 апреля 2011

В нижней части ваших маршрутов

match "/:id", :to => "users#show"

Есть некоторые побочные эффекты, так что будьте готовы

чтобы переписать ваши маршруты вы должны указать его имя:

match "/:id", :to => "users#show", :as => :user

или, как указал @Whirlwin, лучше использовать просто запрос GET по умолчанию

get "/:id", :to => "users#show", :as => :user

Так что теперь вы можете позвонить:

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