ruby-on-rails - Rails 社区命名连接模型的命名约定有哪些优点?

标签 ruby-on-rails ruby activerecord naming-conventions join

this Railscast Ryan Bates 提到,在命名连接模型时,使用以 -tion、-ment 或 -ship 结尾的单词是一个很好的约定。这个约定有什么好处?

例如,如果我有两个模型,分别称为“专辑”和“歌曲”,其中一首歌可以出现在许多专辑中,而一张专辑有很多歌曲,该怎么办?为此所需的连接表的好名称是什么?轨道列表?轨道列表?

最佳答案

惯例是给它命名一个有意义的名称。

这些关系通常会以这些结局结束。重点是遵循a约定并保持一致,不一定所有内容都会整齐地融入相同的三个结局。

对我来说,它听起来像 TracksAlbumTracks 等。如果你想遵循他的构词理念,也许可以使用 TrackationTrackination(将轨道放入专辑的过程)、Albumship(类似于“成员(member)资格”,但包含专辑歌曲)等。

另请注意,希望您没有名为 AlbumsSongs 的模型,而是名为 AlbumSong 的模型。在我看来,最清晰的关系就是 AlbumSongs,因为这正是它的本质。

您也可以采取完全不同的路线,并将它们称为Mixes

关于ruby-on-rails - Rails 社区命名连接模型的命名约定有哪些优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373017/

相关文章:

ruby-on-rails - 如果模型属性为 nil,Ruby on Rails 将返回一个字符串

ruby-on-rails - 验证 Controller 中用户的 admin 属性是否设置为 true 的正确方法是什么?

arrays - 在 Ruby 中将嵌套哈希转换为二维数组

javascript - 如何设置在 Rails 4 中选中的第一个子元素单选按钮?

ruby - SIP 调用被 Asterisk 拒绝

mysql - Rails 5 数据库迁移错误

mysql - 按桶分组(具有 NULL 值)

ruby-on-rails - rails 模型 : Legacy Schema: Table Inheritance

ruby-on-rails - 为什么我在 Rails 模型回调中收到此 "undefined method"错误,将方法作为符号传递?

ruby-on-rails - 如何在 Rails 中测试文件上传以进行集成测试?