2015-01-16 3 views
0

переадресовать пользователя к следующему URL-адресу:Почему маршрут просит меня показать действие?

http://bookworm.az:3000/messages/alizade 

И в маршрутах я:

get '/messages' => 'messages#index' 
get '/messages/:username' => 'messages#index' 

Но он просит меня показать действие. Но я хочу просто показать ту же страницу /messages.

Например, здесь он работает и не спрашивает меня о шоу-акции:

get ':username/manage' => 'profiles#index' 

Как я могу вернуть ту же страницу, без показа действия?

ответ

1

Проблема заключается в приоритете заказа.

У вас уже есть маршрут, который очень похож на этот узор. Что-то вроде: resources: messages.

Для работы, переместить линию:

get: '/messages/:username' => 'messages#index' 

в верхней части routes.rb файла.

Примечание Из Руководства по Rails:

«Рельсы маршруты подобраны в порядке, они указаны, так что если у вас есть ресурсы: фотографии выше ГЭТ„фото/опрос“шоу действия пользователя маршрут для линии ресурсов будет сопоставлен до линии get. В исправьте это, переместите строку get над линией ресурсов так, чтобы она была .

http://guides.rubyonrails.org/routing.html

Смежные вопросы