Rails项目组织有很多模型

And*_*rew 2 ruby-on-rails organization models ruby-on-rails-3

我正在开发一个rails应用程序,它开始拥有(对我而言)很多模型.现在有15个,但我正在考虑增加3-4个以作为模型的"标签"(我需要比Acts As Taggable提供的更多功能).

所以,这让我有点烦恼的原因是15个模型中的7个属于一个共同的父母.有几个是belongs_to,有些是has_and_belongs_to_many.我正在考虑的所有新模型也属于同一个父母.

那么,我想知道的是,组织这种情况的最佳"Railsy"方式是什么?

而不是app/models超级拥挤的6"一流"模型和10个以上其中一个孩子,我应该/我可以开始在我的应用程序文件夹中使用子文件夹吗?即:app/models/parent/child.rb

我知道这是一个开放式的问题,但我非常感谢有关使用大量模型处理rails项目的最佳方法的建议.

谢谢!

apn*_*ing 6

你可以做到这一点,我总是这样做:)

请注意:如果您创建的文件夹名称为您的模型,则会失败.实际上,Rails会认为你想扩展它.

因此,在您的模型文件夹中,在您想要的任何花哨之前添加您的类的名称.

示例:如果要放置与用户相关的模型,请将其放入 models/user_related/

你必须将它添加到你的application.rb文件中:

config.autoload_paths += Dir["#{Rails.root.to_s}/app/models/*"].find_all { |f| File.stat(f).directory? }  
Run Code Online (Sandbox Code Playgroud)

这将自动加载models目录中包含的所有文件夹.