2011-11-01 53 views
6

我正在为2个独立客户端开发2个应用程序,并为我自己开发3个应用程序。所有3个应用程序都将具有地址簿,电子邮件和用户身份验证。最后,我希望将应用程序创建为“模块化”,以便可以根据需要添加(或删除)模块。Rails 3.1 - 使用可安装引擎进行开发

我已经观看了Mountable Engines Railscast,它看起来像我需要什么,但我仍不清楚在以下方面:

  1. 你怎么开发每个引擎模块(用户认证,电子邮件,地址簿)分别不一个通用的基础应用
  2. 如何开发地址簿模块时,它需要用户身份验证,这是一个单独的模块?

我猜你先开发用户认证,并将其包含在引擎模块的虚拟应用程序中,但我对引擎的命名空间感到困惑。

注意到我来自C#背景并且我是网络开发新手可能很有用。

回答

2

人们已经编写了认证和电子邮件插件。对于大多数应用程序来说,剩下的工作就是自定义。

您可能希望编写一个引擎来共享某些自定义设置并共享某些地址簿功能。在这种情况下,您可以考虑开发一个具有尽可能少定制代码的示例应用程序,以明确定义地址簿API。

+0

当你这样说时,听起来很简单:P虽然你有一个观点,而我的所有研究都已经开始指出这一点。我应该专注于为每个模块运行一个体面的API。如果我在Gemfile中包含带有“gem'mypath'”的插件,并且在插件中进行了更改,您是否知道该更改是否会自动更新到包含的应用程序中? –

+1

我认为你指出了一条路径,它会在你做出这些变化时发现变化(至少就捆绑器而言),但我会仔细检查。但是,由于导轨加载/重新加载代码,通常必须重新启动导轨服务器才能获取更改,除非您进行一些配置更改。 –

+0

谢谢。这就说得通了。至少现在我有一个地方开始进一步研究:) –