0

Как обслуживать все маршруты с помощью Angular, имея возможность выполнять $ http-запросы на сервер? (Я использую html5mode)Угловая маршрутизация на рельсах

Если я попытаюсь получить доступ к некоторому адресу из адресной строки, я получаю ошибку 404.

Если я пишу в маршрутах что-то вроде:

root 'users#index', anchor:false 

или

root 'users#index' 
get "*path" => 'users#index' 

Угловая служит все маршруты из адресной строки, но я не в состоянии выполнить любые запросы к серверу (как все они перенаправляются на индекс пользователей #).

ответ

0

Подстановочные маршруты Rails будут иметь приоритет. Таким образом, вам нужно будет проставлять ваши угловые части на свои собственные URL-адреса. Обычно я использую /app для всего Углового. Вот что я обычно положить в мой routes.rb файл:

get "/app", to: "main#app" 
get "/app/*path", to: "main#app" 
root to: "main#index" 

Вам также нужно добавить этот тег в <head> вашего основного макета:

<base href="/app/"> 

Это позволит Угловая знать базировать все URL-адреса с префикса пространства имен /app.

+0

Большое спасибо за ваш ответ. Конечно, он работает, но на самом деле это не очень удобно, поскольку вы все еще можете достичь некоторых путей от адресной строки, а URL-адрес плох. –

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