Ruby on rails 建立模型和数据库的最佳方法
我正在创建一个与运动队打交道的应用程序。目前我有两种型号。Users.rb模型和Teams.rb模型。在应用程序的用户中,我希望有队长和队友。我想让队长在签约时有权组建球队。我希望队长属于一个团队,队友属于一个团队。我希望球队只有一名队长。最好的设置方法是什么?在用户模型中我应该有队长和队友的别名吗?还是制作一个captains.rb模型更好 如果队长和队友具有不同的属性,那么我认为最好将模型分开,但如果不是这样,为什么不为用户和团队之间的队友创建一个联接表,并且团队模型具有所有者id 模式示例: 团队(所有者id…) 队友(用户id、团队id等) 这将帮助您使用团队模型中的owner\u id列,将团队和用户模型之间的归属关联设置为队长,其他成员可以通过队友模型由has\u多个队友完成,甚至可以使用has\u和has\u Bowns\u多个关联。 通过这种方式,您将设法让一个用户拥有一个团队,甚至是其他团队中的一个队友Ruby on rails 建立模型和数据库的最佳方法,ruby-on-rails,ruby,database,rails-activerecord,models,Ruby On Rails,Ruby,Database,Rails Activerecord,Models,我正在创建一个与运动队打交道的应用程序。目前我有两种型号。Users.rb模型和Teams.rb模型。在应用程序的用户中,我希望有队长和队友。我想让队长在签约时有权组建球队。我希望队长属于一个团队,队友属于一个团队。我希望球队只有一名队长。最好的设置方法是什么?在用户模型中我应该有队长和队友的别名吗?还是制作一个captains.rb模型更好 如果队长和队友具有不同的属性,那么我认为最好将模型分开,但如果不是这样,为什么不为用户和团队之间的队友创建一个联接表,并且团队模型具有所有者id 模式示例
另一个想法是让具有额外列的联接表中的所有成员决定其在团队中的角色,这将使您在将来添加更多角色时有更多的控制权,并定义验证和Scoop以提供这种服务。好,首先让我们列出关系假设,因为从您的描述中有一些是模糊的: 用户可以:
- 有许多船长
- 参加许多队
- 属于一个船长
- 有许多用户作为队友
- 使用者
- 团队
- 作为用户和团队之间的连接表的多个成员
- 用户id
- 团队id
- 可能的角色/类型字段
- 属于:团队
- 属于:用户
- 你有很多队友吗
- 有很多:团队,通过::队友
- 你有很多队友吗
- 有很多:用户,通过::队友
- 有一个队:队长,->{角色:'队长'},班名:'队友'
队长和队友有一些不同的属性吗?只是一个警告:Rails的惯例是对模特使用单数名词
rails g model Users
会给您:[警告]型号名称“Users”被识别为复数,使用单数“User”代替。Override with--force复数或在运行生成器之前为此名词设置自定义屈折变化规则。