我很想知道Stack Overflow上的Rails老手们对此有何看法。
基本上,作为一个Rails newb,以及在编程中没有“正式”背景的人,我面临的最大挑战之一就是适当的架构。我如何知道构建应用程序的正确或 是什么?
我很想知道一些资源是什么。
我知道基本的 - 但其中很多都没有给我我想要的高级架构概述:
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进行通信构建单个应用程序是否合适?这个多应用程序抽象有任何额外的好处吗?
谢谢!
答案 0 :(得分:3)
这不是一个简单的问题。完整的答案在很大程度上取决于您的项目。
如果你是初学者,我建议你把它全部放在一个应用程序中,你有足够的"分离"明智地使用模型。很难想象应用程序间通信带来的复杂性有益的场景。
在您的示例中,您应该问自己,为商家和购物者或两个单独的模型使用单亲模型会更好。
在前一种情况下,您可以考虑STI:
class User < ActiveRecord::Base
)
class Merchant < User
)class Shopper < User
)Google for STI了解更多详情。
然后在您的控制器/视图中,您可以快速检查权限,例如:
if user.class == Merchant
do_something
else
do_something_else
end
同样,这两个类可能使用不同的算法进行身份验证。您可能还包括&#34;标准&#34;在基本User类中进行身份验证,并在需要时将其专门化在子类中。
干杯,