ruby-on-rails - Rails 应用程序的部分是 SPA (AngularJS) 或多个 SPA

标签 ruby-on-rails angularjs

我们有一个经典的 Rails4 应用程序,我们希望使用 AngularJS(Ember 可以,甚至 Backbone)更进一步,但问题是我们不希望使用 Rails 作为 API 端点的完全 Angular SPA。 我们想要做的是仅在应用程序的某些部分提供 SPA,例如搜索页面是 SPA,但用户的个人资料页面是经典的 Rails Controller / View ...

因此,用户来到/homepage 并获得 Angular.js、模板等服务,但是当他访问/users/3 时,他获得经典的 Rails View 。

您对此有何建议?我用谷歌搜索,找不到关于这个主题的好资源。我发现了很多“TodoMVC” aps,但没有包含“TodoMVC”部分的 Rails 应用程序 每个人都在谈论 Ember.js/AngularJS + Rails API。没有提到混合动力。

问题归结为:

  • 将 AngularJS 库包含到 application.js 中并始终提供服务?
  • 在 javasript/angular/下组织 Angular Controller / View /指令?
  • 我们可能会发现哪些问题?

最佳答案

我有一个混合应用程序,您可以在 http://www.big5boutique.com 上查看 Rails 应用程序

您可以在 http://www.big5boutique.com/itinerary-builder/ 上查看 Ember.js 应用程序

基本上,我构建了一个常规 Rails 应用程序,为您访问的任何页面提供单个 application.js 和 application.css 。

但是,如果您访问单页应用程序,那么我将使用相同的 application.css,但包含不同的 javascript list 文件,该文件仅包含 Ember/Angular 代码,并省略其余基于正常 jQuery 的代码。应用程序。

然后在 application.html.erb 中我有一些代码来检查请求 url 并包含适当的 javascript。

Rails 应用程序和 Ember 应用程序都使用相同的页眉和页脚,但我将所有请求/itinerary-builder/* 定向到托管 ember 应用程序的页面。 Ember 允许您指定根 URL(如果 SPA 不在根 URL 上)

此答案中有更多详细信息:Possible to have multiple ember.js apps in one Rails app?

关于ruby-on-rails - Rails 应用程序的部分是 SPA (AngularJS) 或多个 SPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25991670/

相关文章:

ruby-on-rails - 如何显示before_action过滤器authenticate_user的闪现消息!通过 ajax 调用的操作

ruby-on-rails - 在 rails 3 中使用 helpers 输出 html

javascript - AngularJS 中不同范围的值匹配

angularjs - 是否可以在没有 ui-sref 的情况下使用 ui-sref-active ?

ruby-on-rails - 在Rails迁移中定义方法

ruby-on-rails - 无法访问使用 Capistrano 和 RVM 部署在乘客上的应用程序的 Rails 控制台

ruby-on-rails - 在为我的 Rails 应用程序运行 Faye 服务器之前检查它是否存在

javascript - 在Angular JS中导出Excel而不使用第三方库

javascript - 将值保存到 AngularJS 中 ng-repeat 内复选框上的数组

javascript - DIV 在扩展时自行重新排序 - 我如何保持相同的顺序?