Rails:两个不相关类的属性和方法:最佳DRY方法?

时间:2016-12-11 15:53:14

标签: ruby-on-rails class module dry

这是一个几乎无足轻重的问题,但我想关注(并了解更多)Rails最佳实践,特别是DRY原则。

我的应用程序处理两个不相关的类,国家和地方;两者都有一个属性"Visit #{@country.name}"。在视图中,我在标题等中使用他们的名字,例如prefix

在大多数情况下,这都有效。但是一些国家和地方要求“the”作为前缀。例如:“访问荷兰”听起来很笨拙,所以一定是“访问荷兰”。然而在列表和搜索结果中,它应该是“荷兰”,没有“the”。

如果只有一个班级受到影响,我会

  • 在其表
  • 中添加一个布尔列name_prefixed(uppercase=false)
  • 添加一个名为name的方法,该方法需要prefix,如果trueuppercase,则添加“the”/“The”(取决于{的值) {1}})
  • @country.name替换为适用的@country.name_prefixed

但是,由于两个不相关的课程存在问题,如何在不重复的情况下最好地处理这个问题?

0 个答案:

没有答案