rails最佳实践命名约定jointable has_many through



我正在rails中通过关联实现has_many。

我想讨论命名联接表的最佳实践。我找到了这个链接:http://guides.rubyonrails.org/association_basics.html#tips-技巧和警告但它描述了has_and_belongs_to_many 的命名约定

hasmany的最佳联接表命名约定是什么:通过关联?

注意我的答案:我不是铁轨专家。这是我最近的经验。

对于has_and_belongs_to_any关系,命名约定是该关系的模型应包括您希望按字母顺序关联的表。因此,对于将学生加入小组,您可以使用group_pupils,这样rails就可以从学生和小组模型中的信息中找到表格。

对于has_many:through关系,您可以为联接表构建一个模型。因此,以学生和小组为例,您可以调用rails g model PupilGroup pupil:references group:references来构建模型和迁移。或者,可以使用一个有意义的名称,例如pupil_groupings,也可以仅使用分组或集合。在belongs_to :pupilbelongs_to :group的示例中,由于模型包含用于设置联接的信息,因此取消了对表命名的限制,因为rails有另一种方法可以知道使用哪个表来存储关系。

因此,您应该选择一个合理的名称,以支持清晰度和维护

最新更新