在Sinatra和Rails之间共享模型代码

8
我有一个Sinatra应用程序处理api调用,还有一个Rails应用程序处理报告和所有漂亮的东西,如图表和网站。这两个应用程序都需要访问一组公共模型(例如,账户、站点等)。
我的问题是:如何高效地在这两个应用程序之间共享代码?例如,如果我正在Sinatra中编辑账户模型,我不想记得在Rails应用程序中复制相同的更改。我不想使用Rails Rack mounting,因为这两个应用程序将在单独的集群上。
我在StackOverflow上看到了以下建议:
- Git模块 - 符号链接(无法与同事使用的Windows配合使用) - Rails插件(我怀疑这对Sinatra也不起作用) - Ruby Gems(我认为这对于仅需要模型数据来说太过头了,但这只是我的想法)
这两个应用程序位于不同的存储库中。基本上,我首先开发API,然后稍后在Rails应用程序中放置特定于账户的逻辑(主要是因为Rails有更多的库使开发这些事情更容易)。
你会如何解决这个问题?

这些应用程序在同一个代码库中还是不同的代码库中? - Andrew Marshall
它们位于不同的代码库中 :) 那么您会建议它们放在同一个代码库中吗? - parasquid
1
不,我只是想知道因为选项会有所不同。个人认为git模块或私有gem是最好的选择。 - Andrew Marshall
1个回答

4

只是为了澄清,这意味着我需要将两个应用程序之间的共同点提取到 gem 中,对吗?如果是这样的话,您是否知道可以检查和学习使用此技术的存储库? :) - parasquid
是的,那就是我想表达的意思。另一种选择是将Sinatra应用程序和Rails应用程序放在同一个项目中,或者让Sinatra应用程序加载Rails应用程序。请查看https://github.com/travis-ci/travis-core获取示例。 - Konstantin Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接