2016-06-01 4 views
0

я это в моих маршрутах:переразводки вложенная ресурс в Rails

resources :users do 
    resources :posts 
end 

Это создает шоу путь /users/:user_id/posts/:post_id

Великого. Но если кто-то набирает /users/:user_id/post/:post_id (помните о единственном числе, а не о сообщениях), то они получают 404. Я хочу сделать перенаправление 302 от .../post/:post_id до ../posts/:post_id в моих маршрутах. Как?

ответ

4

Возможно, вы сможете достичь этого, используя следующее в настройках маршрутов.

get '/users/:user_id/post/:post_id', to: redirect('/users/%{user_id}/posts/%{post_id}') 

Больше информации здесь: http://guides.rubyonrails.org/routing.html Раздел: 3,12 Перенаправление

+0

Угу. Это сработает. Вам нужно указать статус в перенаправлении, и у вас не должно быть места между перенаправлением и открывающей скобкой. Благодарю. – Ben

+0

Yup, извините, что это была опечатка. Если вам нужна дополнительная информация о параметрах перенаправления, вы можете увидеть источник в http://api.rubyonrails.org/classes/ActionDispatch/Routing/Redirection.html – torresomar