我在Rails应用程序上使用了两个模型,Article和Profile。我希望他们有不同的类别。我应该创建两个不同的类别模型吗? article_category和profile_category?如果我这样做,会有很多冗余代码。我应该创建两个不同的'类别'模型集吗? Ruby on Rails
4
A
回答
2
问题是,这两个类别的功能是否会一样?
如果他们这样做,那么我会使用一种类型的模型,即使不同的名称会被归因于不同的名称。
诀窍是DRY
或“不要重复自己”。因此,如果有任何事情被写两次,你可以绝对重构成一个较小的代码。
2
如果模型是相同的,那么你应该使用多态关系。看到我的回应在这里:Rails -- How to setup model that can belong to either of 3 different models
如果不同的类别模型将需要额外的逻辑,那么我会使用单表继承为此。您将拥有一个父类别类,并且ArticleCategory和ProfileCategory将从此继承。基本上所有你需要做的就是添加一个类型字段到类别和两个额外的类。这将消除多余的代码,并允许您将任何模型特定的代码分离到适当的类中。让我知道你是否需要额外的方向。
相关问题
- 1. Ruby on Rails的 - 创建相同型号
- 2. Ruby on Rails 3:has_and_belongs_to_many两个不同的模型
- 3. Ruby on Rails - 链接两个模型
- 4. Ruby on Rails,从另一个模型创建一个记录
- 5. 我该如何组织我的Ruby on Rails模型?
- 6. 我应该为同一类型的关系创建不同的连接表吗?
- 7. 我应该为每个类别创建单独的表吗?
- 8. 我应该在Redis的Rails中创建一个新类吗?
- 9. Ruby on Rails的模型
- 10. Ruby on Rails的模型
- 11. Ruby on Rails:正确地创建与多个模型有关的模型实例
- 12. Ruby On Rails 3,通过两个值在不同模型中的组合排序
- 13. 我应该为每个模型创建一个接口吗?
- 14. 如何在两个模型之间创建has_many关系,其中有几个模型? (Ruby on Rails的ActiveRecord的)
- 15. Ruby on Rails模型关系
- 16. jQuery跨Ruby on Rails模型
- 17. Ruby on Rails动态模型
- 18. Ruby on Rails生成模型
- 19. Ruby on Rails - 模型验证
- 20. Ruby on Rails和WebSphere我可以同时拥有两者吗?
- 21. Ruby on Rails类型错误
- 22. 在Ruby中创建Wistia模型on Rails的
- 23. ruby-on-rails:创建单表继承的模型?
- 24. 我应该在Github上为OpenSource RailsApp分配Ruby on Rails吗?
- 25. 创建表单(Ruby on Rails)
- 26. 如何使用Ruby on Rails为两个模型提供两个不同的模板设计库
- 27. Ruby on Rails/Activerecord mySQL建模
- 28. Ruby on Rails:模块与类
- 29. Ruby on Rails:我如何从一个地方认证不同的用户类型?
- 30. 多个Ruby on Rails模型关系
好吧,我想我会在类别模型中使用布尔值,profile_cat?和article_cat ?. – kelp 2010-09-07 01:36:40
他们中的任何一个会共享相同的类别名称吗? – Trip 2010-09-07 01:58:17
不,他们不会共享相同的类别名称。 – kelp 2010-09-07 04:50:01