2016-02-13 249 views
0

所以我有一个导轨应用,角度正在慢慢推出。即时通讯与导轨路由和有角度的路由一起玩的问题很好。导轨和角度路由

我有一个订单/ index.html.erb有

<div ng-app="orders"> 
    <div ui-view></div> 
</div> 

这ultimatley路线到partials/orders/users/index.html file。在那个文件中,我有一个到编辑页面的链接,看起来像这样。 <a ui-sref="users_orders_edit({userId: order.user.id, orderId: order.id})">Edit</a>

该链接正在按角度路由到编辑页面。这是问题。当我使用网址/users/:id/orders/:order_id/edit刷新编辑页面时,它会抛出一个导轨错误,说没有定义路由。

我在这里错过了什么?

+0

我对Rails并不熟悉,但设置您的服务器端路由可以为每个html请求返回您的SPA可能不是一个坏主意。然后你可以通过Angular路由器处理404s。这是一个好的开始。其他的解决方案是设置你的服务器端和客户端路由匹配。 –

回答

1

以下是我所要解决的问题。在你的routes.rb文件添加下面对文件的底部,所以它不会每条路由匹配:

get "/(*redirect_path)", to: "the_controller_that_serves_your_angular_app#index" 

您不必redirect_path调用它。它可以任意命名,因为你不会使用它。这是告诉轨道映射到您的角度应用程序的所有不确定的路径。这将允许你的用户刷新,它仍然加载角度的应用程序,甚至进入正确的状态。