1

我很想看看 Stack Overflow 上的 Rails 资深人士对此有何评论。

基本上,作为 Rails 新手,以及没有“正式”编程背景的人,我最大的挑战之一与正确的架构有关。我如何知道构建应用程序的正确更好的方法是什么?

我很想看看一些资源是什么。

我知道基本的 - 但其中很多并没有给我想要的高级架构概述:

http://www.amazon.com/Agile-Development-Rails-Third-Edition/dp/1934356166/ref=cm_lmf_tit_7 http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177 /ref=cm_lmf_tit_3 Railscasts

这是一个简单的例子:

假设我正在构建一个包含商家和购物者的 Rails 应用程序 - 每组用户都有自己的身份验证、不同的权限等。为这个或多个通过 API 通信的应用程序构建一个或多个应用程序是否合适?这种多应用抽象有什么额外的好处吗?

谢谢!

4

1 回答 1

3

这不是一个简单的问题。完整的答案在很大程度上取决于您的项目。

如果您是初学者,我建议您将所有内容保存在一个应用程序中,您可以明智地使用模型进行足够的“分离”。很难想象应用程序间通信引入的复杂性是有益的场景。

在您的示例中,您应该问自己,对于 Merchants 和 Shoppers 使用一个单父模型还是两个单独的模型更好。

在前一种情况下,您可以考虑 STI:

  • 用户(主类,定义为class User < ActiveRecord::Base
    • 商家(定义为class Merchant < User
    • 购物者(类似class Shopper < User

谷歌搜索 STI 了解更多详情。

然后在您的控制器/视图中,您可以快速检查权限,例如:

if user.class == Merchant
  do_something
else
  do_something_else
end

同样,这两个类可能使用不同的算法进行身份验证。如果需要,您还可以在基本 User 类中包含“标准”身份验证并在子类中对其进行专门化。

干杯,

于 2013-04-18T01:23:57.237 回答