首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails5应用程序接口模式应用程序和非应用程序接口模式应用程序之间是否共享代码?

Rails5应用程序接口模式应用程序和非应用程序接口模式应用程序之间是否共享代码?
EN

Stack Overflow用户
提问于 2016-02-28 13:50:16
回答 2查看 71关注 0票数 2

我打算创建一个由Rails5和API模式组成的RESTfull服务应用程序。我还需要一个管理应用程序,提供管理用户和内容的网页视图。这两个应用程序将彼此共享代码。

我知道一个创建API模式应用程序的方法。

代码语言:javascript
复制
$ rails new apiapp --api

如何创建另一个项目?

EN

回答 2

Stack Overflow用户

发布于 2016-08-15 22:29:51

我实现这种功能的方式是这样的:

用于模型、数据库、验证和关系逻辑的

  • RAIL应用编程接口。用于管理应用程序的
  • 客户端MVC和RESTful调用。为此,我将使用Backbone Marionette。

这是我能想到的最干净、代码重复最少的实现,它遵循行业标准。

这就是软件的咒语“吃你自己的狗粮”--如果你创建了一个api,使用它的接口来做你的事情。通过这种方式,您可以测试并改进它。

如果您希望两端都有RAILS,那么最好将您的管理和API实现为一个应用程序,以减少代码重复。为所有外部调用创建一个API控制器名称空间,并为管理视图和其他内容编写普通rails代码。这样,您的数据库和模型验证以及关系逻辑是共享的,但控制器和路由名称空间不是。

再见。

票数 1
EN

Stack Overflow用户

发布于 2016-08-15 18:39:14

将另一个项目构建为普通的rails项目。关于Rails5API模式要理解的一件事是,你不能把普通的html内容作为它的一部分。缺少整个渲染管道(资源等)。Rails5API模式很快,因为环境的大部分已经完全消失了。

你想做的是有两个项目:

  • admin
  • api

并找出一种方法来在它们之间共享您的模型逻辑。

如果您使用devise进行身份验证,这将特别棘手,因为devise会向您的用户模型中添加api项目中所不具备的内容。下面是我如何解决这个问题的:

代码语言:javascript
复制
If Rails.application.class.parent_name == "admin"
  # devise crap goes here
end

如何轻松地在两个git repos之间共享模型目录?我没有好的答案。我有一个rake任务,它手动同步的东西从规范的来源复制到目的地,但这是一个黑客。

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

https://stackoverflow.com/questions/35679230

复制
相关文章

相似问题

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