[英]Rails routing + AngularJS routing
我的角度應用程序中有以下代碼。
app.config(function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/users/:u_id/restaurants/:r_id/menus/:m_id/sections/:sec_id/items", { templateUrl: "/assets/menus/items.html", controller: "MenuItemCtrl" })
});
當我使用導航到路徑時,它工作正常
<a href="./sections/{{section.id}}/items">View Items</a>
但是,當我刷新頁面或直接轉到URL時,它會拋出rails路由錯誤
No route matches [GET] "/users/3/restaurants/3/menus/4/sections/4/items"
如果我在routes.rb中創建此路由,它只返回與響應關聯的JSON,並且不會路由到正確的模板。
有誰知道如何解決這個問題?
在rails路徑中,您必須將該請求重定向到角度基本URL,因此可以執行angular。
沒有它,rails會響應請求。 這就是html5mode路由的工作原理。
編輯:
假設您的角度來自application#home
。 您希望將所有GET請求重定向到那里,因此angular可以工作。
添加此路由get '*path', to: 'application#home'
將使所有GET請求成為角度頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.