Я пишу приложение rails и мне нужно изменить некоторые URL-адреса моего приложения. Но я не хочу сломал мои тесты и внести изменения в поле зрения, JS или контроллеры ...Как правильно использовать: path_names в маршрутах rails?
Вот мои маршруты:
resources :posts, path: 'news' do
member do
get 'edit/page/:page', as: :edit, action: :edit
post '/approve', as: :approve, action: :approve
post '/reject', as: :reject, action: :reject
end
collection do
get :my
get :shared_with_me
get :filtered
end
end
Как вы видите, я нашел способ изменить domain.com/posts
к domain.com/news
на всех веб-сайтах.
Теперь мне нужно сделать, изменить этот список трактов:
- от
domain.com/news
кdomain.com/news/all
(получитьposts#index
) - от
domain.com/news/12
доdomain.com/news/preview/12
(получитьposts#show
) - от
domain.com/news/new
кdomain.com/news/request
(получитьposts#new
)
Я пытаюсь изменить это трактов с помощью :path_names
, но это не работает ...
Здесь обновляется маршруты:
resources :posts, path: 'news', path_names: {index: 'all', show: 'preview', new: 'request'} do
member do
get 'edit/page/:page', as: :edit, action: :edit
post '/approve', as: :approve, action: :approve
post '/reject', as: :reject, action: :reject
end
collection do
get :my
get :shared_with_me
get :filtered
end
end
Когда я сделал это изменения и запускает rake routes
- только GET news/request
появляется. .
Но почему я не вижу GET news/all
и GET news/:id/review
?
Пожалуйста, помогите мне исправить. Спасибо!