ruby-on-rails – Ruby on Rails分离正面和背面

我一直在使用Ruby on Rails一年多一点,而且我总是以一种随意的方式来做,我的意思是,所有东西都在一个地方(正面和背面),使用标准的.html.erb文件由关联的控制器方法填充.

否则,今天在我们的项目中,由于多种原因(代码可维护性/清晰度,更好的架构,更多的反应性等等),我需要将前端和后端分开.

我已经做了很多researches,看了一些会议(1,2,3),但还没找到我的解决方案.它看起来像是一个经常出现的问题,但是将Ruby on Rails应用程序的后端和前端分开的最佳实践/工具是什么?

我不觉得我们需要(还)像React / EmberJS / Angular / etc这样庞大的JS框架……

首先,我正在考虑像Middleman/Jekyll这样的东西并通过JSON和API调用进行通信,但似乎它不是动态网站的好解决方案.

那么是否有一个前端框架可以很好地使用Rails API,并且易于维护和升级(像gems一样添加功能/扩展)?

感谢您的见解.

最佳答案
我有一个与该问题的评论者类似的设置.

我主要用于项目结构,定义一些页面布局和ActiveRecord.

然后,我使用Grape API框架定义了我的JSON API.

我有一个SPA,写在AngularJS上,它位于公共/文件夹中.它也是我的移动应用程序的两倍,通过phonegap实现.如果我的Angular应用程序没有成为我的移动应用程序的两倍,我可能只是使用资产管道来提供SPA.为了弥补这一点,我在Grunt中编写了一个单独的构建任务,以便在我将其部署到生产环境之前缩小/ uglify我的JS / CSS资产.

我也使用舒适的墨西哥沙发作为我的静态内容页面.

为了把事情弄好,我们花了一些试验和错误,但总的来说,我发现这个设置很适合我.

转载注明原文:ruby-on-rails – Ruby on Rails分离正面和背面 - 代码日志