首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Rails路由映射到Ember路由

将Rails路由映射到Ember路由
EN

Stack Overflow用户
提问于 2014-03-13 17:41:12
回答 1查看 483关注 0票数 1

注意:这与Ember Routes and Rails Routes不一样

我有一个单页的Ember应用程序,生活在一个Rails堆栈之上。忽略对Rails的需求--它是必需的。

我的Ember应用程序视图位于/ember_app。我希望有正常的足智多谋的路线映射到安博航线,如下所示:

代码语言:javascript
运行
复制
GET /home     ~> /ember_app/#/home
GET /account  ~> /ember_app/#/account
GET /login    ~> /ember_app/#/login

最好的方法是什么?其中一个想法是:

  1. Rails routes.rb将所有请求发送到单个操作,ember_app#index以及一个包含Ember路由名称的参数(与redirect_route: "account"一样)。注意,homeaccountlogin不需要从Rails获得任何数据,只想在Ember中重定向到该路由。
  2. ember_app#index操作将route参数存储到实例变量@redirect_route中。
  3. ember_app.html.erb中,@redirect_route被内插并存储在JavaScript变量EmberApp.redirectRoute中。
  4. 在Ember的application_view.js (或适当的地方)中,我们相应地使用EmberApp.redirectRoute在客户端重定向。

这种做法听起来合理吗?我们还可以为每个路由提供Rails操作,该路由只是呈现index操作并传递route参数。然而,似乎有一种方法可以(应该)以编程方式将Rails路由映射到Ember路由。我们不想重复它们,一次在Rails routes.rb和Ember router.js中。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-14 22:12:32

我不确定我是否正确地理解了这个问题,但听起来你所需要的只是把所有的东西都映射到你的余烬应用程序中,然后让成员完成路由。

使用通配符路由应该可以做到这一点。只要把所有的东西都映射到控制器上,你的应用程序就会被加载,然后Ember路由器就会决定下一步该做什么。

代码语言:javascript
运行
复制
get '(*anything)', to: 'ember_app#index'

这就是我设置的方式,除了我不是在根上做的,我的看起来更像:

代码语言:javascript
运行
复制
get 'application_name/(*anything)', to: 'ember_app#index'

希望这能有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22386644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档