Ruby on rails 3 Rails模型命名约定
我有一个应用程序,它有Ruby on rails 3 Rails模型命名约定,ruby-on-rails-3,model,naming-conventions,Ruby On Rails 3,Model,Naming Conventions,我有一个应用程序,它有项目和用户。我不关心跟踪用户和项目之间的多对多关系,但我感兴趣的是跟踪项目和特定用户之间的多对一关系,即项目经理。理想情况下,我希望在projects表中创建一个名为projectmanager\u id的列,并将其链接到用户。然而,rails惯例要求我使用user\u id。虽然这样做有效,但我觉得语义不太正确。有没有办法两者兼得 我想到的一种方法是使用user\u id和project\u id创建一个projectmanagers表,并在user模型中创建一个has\
项目
和用户
。我不关心跟踪用户
和项目
之间的多对多关系,但我感兴趣的是跟踪项目
和特定用户
之间的多对一关系,即项目经理。理想情况下,我希望在projects
表中创建一个名为projectmanager\u id
的列,并将其链接到用户
。然而,rails惯例要求我使用user\u id
。虽然这样做有效,但我觉得语义不太正确。有没有办法两者兼得
我想到的一种方法是使用
user\u id
和project\u id
创建一个projectmanagers
表,并在user
模型中创建一个has\u many:projects,:through=>:projectmanagers
,在project
模型中创建一个has:user,:through=>:projectmanagers
。有更好的方法吗?如果将db列保留为用户id,则可以尝试此方法:
在project.rb文件中:
属于\u to:projectmanager,:外键=>“用户\u id”,:类\u名称=>“用户”
并且在user.rb文件中仍然有:
有很多:项目
或者如果您希望db列为projectmanager\u id 在project.rb文件中: 属于:projectmanager,:foreign\u key=>“projectmanager\u id”,:class\u name=>“用户” 在user.rb文件中: 有多个:项目,:外键=>“项目管理器id”,:类=>“项目”
如果将db列保留为用户id,则可以尝试此操作: 在project.rb文件中: 属于\u to:projectmanager,:外键=>“用户\u id”,:类\u名称=>“用户” 并且在user.rb文件中仍然有: 有很多:项目
或者如果您希望db列为projectmanager\u id 在project.rb文件中: 属于:projectmanager,:foreign\u key=>“projectmanager\u id”,:class\u name=>“用户” 在user.rb文件中: 有多个:项目,:外键=>“项目管理器id”,:类=>“项目”
我喜欢第二种方法。我试试看。谢谢我喜欢第二种方法。我试试看。谢谢