代码之家  ›  专栏  ›  技术社区  ›  Vlad Zloteanu

模型应该在Rails中命名吗?

  •  2
  • Vlad Zloteanu  · 技术社区  · 16 年前

    Ruby on Rails项目中通常有很多模型,因此:

    1. 将它们命名为名称空间(在模块/文件夹中)是一种好做法吗?缺点是什么? 如:

      • 商店
        • details.rb
      • 产品
        • category.rb

    2. 控制器是否也应该以相同的方式命名?

    3 回复  |  直到 14 年前
        1
  •  2
  •   edthix    16 年前

    我最近发现了这篇文章,但它是2007年由Pratik Naik撰写的。表示模型中的名称空间与数据库不太相似。使用类似于下面的内容。甚至还有DHH的一句话。

    Rails::Initializer.run do |config|
      # Your existing stuff
      config.load_paths << "#{RAILS_ROOT}/app/models/pets"
    end
    

    http://m.onkey.org/2007/12/9/namespaced-models

    p/s:我不知道这篇文章是否仍然相关,这是我最近发现的,当时我想在我的模型中使用名称空间。

        2
  •  2
  •   Damien MATHIEU    16 年前

    我经常这样做。
    所以是的,我认为这是你应该做的。

    如果将模型细分到子目录中,而不是将它们全部放在同一个子目录中,则查看模型会容易得多。

        3
  •  -3
  •   Roel    16 年前

    我建议对类别模型使用单表继承。例如:

    Category < ActiveRecord::Base end
    
    ShopCategory < Category end
    
    ProductCategory < Category end
    
    Shop < ActiveRecord::Base
      belongs_to :shop_category
    end
    
    Product < ActiveRecord::Base
      belongs_to :product_category
    end
    

    推荐文章