Rails:并行类名的实际考虑

时间:2017-09-18 01:29:05

标签: ruby-on-rails namespaces

相对较新的Rails并尝试在不同的命名空间下使用并行类名的含义。例如:

gateways/
    payment.rb      # abstract
    subscription.rb # abstract
    stripe/
        payment.rb
        subscription.rb
    paypal/
        payment.rb
        subscription.rb

使用这样的计划有任何陷阱吗?具体来说,重叠的名称是否会导致Rails的任何混乱行为?

1 个答案:

答案 0 :(得分:0)

如果您正确地命名了类,这将不会产生混淆行为。例如,

gateways/
    payment.rb           # Gateway::Base::Payment
    subscription.rb      # Gateway::Base::Subscription
    stripe/
        payment.rb       # Gateway::Stripe::Payment
        subscription.rb  # Gateway::Stripe::Subscription
    paypal/
        payment.rb       # Gateway::Paypal::Payment
        subscription.rb  # Gateway::Paypal::Subscription