簡體   English   中英

Rails路由+ AngularJS路由

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM