Угловая маршрутизация на рельсах

0

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

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

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

root 'users#index', anchor:false

или

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

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

Теги:
routes
angular-ui-router
ruby-on-rails-4

1 ответ

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/">

Это позволит Angular знать, чтобы основывать все URL-адреса от префикса пространства имен /app.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню