2013-07-31 5 views
0

У меня есть сайт с контроллером под названием «Сообщения».Rails redirect controller to root

Я хотел бы перенаправить «example.com/posts» на «example.com», поскольку они отображают ту же информацию.

Я знаю, что это делается в файле routes.rb, но после нескольких часов поиска я не думаю, что я это выясню. Любая помощь приветствуется, спасибо!

Я использую Rails 4.0 на Рубине 2.0

ответ

2

Вы можете прочитать все о перенаправлении в маршрутах, здесь: http://guides.rubyonrails.org/routing.html#redirection

get '/posts', to: redirect('/') 
... 
root to: 'posts#index' 
+0

Спасибо за ответ. Я должен был упомянуть, что я уже пробовал несколько вещей, ваш код является одним из них, и это не перенаправление. – user2636180

+1

В этом порядке? Убедитесь, что перенаправление находится перед другими, которые могут повлиять на него (например, ресурсы: сообщения). –

+0

Да, в этом порядке. Я попробовал то, что сказал Джеймс, и не повезло. – user2636180

1

В файле routes.rb убедитесь, что root :to находится в верхней части кода , Тогда вам нужно будет назначить перенаправление для запроса GET, который вы хотите всегда отправлять:

root :to => 'posts#index' 
get '/posts', to: redirect('/') 
+0

Это не сработало в первый раз, и это все еще не делает. Как я могу опустить вас? – user2636180

+0

Что не работает? Вы получаете сообщение об ошибке? Это просто не перенаправление? Пожалуйста, покажите больше кода (например, копию файла routes.rb) и сообщите нам, что вы делаете, что решение не работает. – jameswilliamiii