我们有一个经典的Rails4应用程序,我们希望使用AngularJS更进一步(Ember会做,甚至是Backbone),但问题是我们不想像使用Rails一样使用Rails完全使用Angular SPA端点。 我们想要做的是仅在应用程序的某些部分提供SPA,例如搜索页面为SPA,但用户的配置文件页面是经典的Rails控制器/视图......
所以,用户来到/ homepage并提供Angular.js,模板等服务,但是当他去/ users / 3时,他将获得一个经典的Rails视图。
您对此有何建议?我用谷歌搜索,无法找到关于该主题的良好资源。我找到了很多" TodoMVC" aps,但没有Rails应用程序,部件是" TodoMVC"每个人都在谈论Ember.js / AngularJS + Rails API。没有提到混合动力。
问题归结为:
答案 0 :(得分:3)
我有一个混合应用,你可以在http://www.big5boutique.com
看到Rails应用您可以在http://www.big5boutique.com/itinerary-builder/
看到Ember.js应用基本上,我已经构建了一个常规的Rails应用程序,可以为您访问的任何页面提供单个application.js和application.css。
但是,如果您访问单页应用程序,那么我使用相同的application.css但包含一个不同的javascript清单文件,该文件仅包含Ember / Angular代码,并省略了基于jQuery的常规代码。应用
然后在application.html.erb中我有一些代码检查请求url包含相应的javascript。
Rails应用程序和Ember应用程序都使用相同的页眉和页脚,但我将所有请求/ itinerary-builder / *指向托管ember应用程序的页面。 Ember允许您指定根网址(如果SPA不在根URL上)
本答案中有更多详细信息:Possible to have multiple ember.js apps in one Rails app?