【发布时间】:2015-04-15 13:50:56
【问题描述】:
我有一个应用程序可以跟踪一个人的游戏统计数据,并且可以用平均数来做各种事情(比如按平均分对人进行排名等)。
我没有经常调用SELECT AVG(points) FROM game_statistics GROUP BY person_id WHERE person_id = 1;,而是创建了一个平均值表,该表在某人的game_statistics 更新时计算并存储此值。
我的问题是如何称呼这个“平均值”表/模型。我可以称它为 PersonAverages,但这打破了 Rails 让模型名称为单数的约定,并迫使我编写如下内容:
class Person
has_one :person_averages, foreign_key: "person_id", class_name: "PersonAverages"
end
对于这种情况是否有更好的命名约定,当每个表行本身可以被认为是复数时(即,每一行包含人的 averages 而不仅仅是单个 average em>?
【问题讨论】:
-
在这种情况下仍然建议使用单数,即 PersonAverage,因为这样可以避免在查询数据库时造成混淆。
标签: ruby-on-rails naming-conventions