【发布时间】:2016-06-14 18:50:47
【问题描述】:
我正在为我正在开发的应用程序创建一个 Rails 引擎。
应用程序基本上分为两个部分:
- 私人
- 公开
私有站点是所有管理功能所在的主要应用程序,公共站点(引擎)应该能够从私有应用程序访问模型。
这听起来与我相反,但这是规范所要求的。
我知道通常你会在你的主应用程序中访问引擎模型:
EngineName::Model
如何访问引擎内的主应用程序?
例子:
私人用户会去 foo.bar/videos/new 并创建一个新视频。
公共用户可以访问 foo.bar/public/videos 并访问这些相同的视频。
【问题讨论】:
-
将功能拆分为私有和公共部分是有道理的,但为什么这种情况需要您使用引擎模式?
-
我想这是一个很好的问题,但您似乎跳过了不必要的障碍。除了满足“规范”之外,您真正想通过这种方式完成什么?规范是程序员写的吗?
-
通常我会将功能打包到引擎中,因为我想在其他地方重用它。如果引擎包含来自主机应用程序的代码调用,那么它将不可重用。在那种情况下,我很好奇你想从把它写成引擎中得到什么好处。如果您只是想在什么是公开的和什么是私有的之间划清界限,那可能是easier to use a namespace
标签: ruby-on-rails ruby ruby-on-rails-4 rails-engines