在this Railscast中,Ryan Bates提到在命名连接模型时使用结束in -tion,-ment或-ship的单词是一个很好的约定。这个惯例有什么好处?
例如,如果我有两个分别称为“专辑”和“歌曲”的模型,其中一首歌可以出现在很多专辑中,一张专辑有很多歌曲怎么办?为此所需的连接表有什么好名字? Tracklistingship? Tracklistings?
答案 0 :(得分:2)
惯例是将它命名为有意义的东西。
这些关系通常以这些结局结束。关键是遵循 a 约定并保持一致,不一定所有内容都适合整齐地放入相同的三个结尾。
对我而言,它听起来像Tracks
,AlbumTracks
等。如果你想按照他的想法来构建一个单词,可能是Trackation
或Trackination
(过程把曲目放在专辑上,Albumship
(如“会员资格”,但有专辑歌曲等)
另请注意,希望您没有名为Albums
和Songs
的模型,而是Album
和Song
。 IMO最清晰的关系只是AlbumSongs
,因为这正是它的本质。
您可以完全使用不同的路线并将其称为Mixes
。
答案 1 :(得分:0)
使用一致命名约定的另一个好处是,您很可能不会成为唯一一个使用代码的人。通过使用一致的命名约定,处理代码的其他人可以更轻松地处理代码。您可能还会发现维护起来更容易,因为您可能会在6个月内触摸代码并且有一天会回复它。通过一致的命名约定,您将能够理解您正在做的事情,而无需阅读所有代码。