Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 9个模型之间的关联_Ruby On Rails_Ruby_Database_Associations_Model Associations - Fatal编程技术网

Ruby on rails 9个模型之间的关联

Ruby on rails 9个模型之间的关联,ruby-on-rails,ruby,database,associations,model-associations,Ruby On Rails,Ruby,Database,Associations,Model Associations,我有一个包含所有模型字段的模式,下面有9个模型 我对这些模型之间的关联感到有点困惑 Project Team User Role Report Task Component Plan Process 我想在RubyonRails中创建模型,所以请根据rails为我提供关联 谢谢如果您没有严格遵循任何类型的SDLC,这没关系,但至少在纸上粗略地绘制数据库图表,以便能够了解顺序。必须至少有一个(或多个)顶级模型不属于任何其他模型,例如用户 作为初学者,您应该这样创建scaffold:(假设用户只

我有一个包含所有模型字段的模式,下面有9个模型 我对这些模型之间的关联感到有点困惑

Project
Team
User
Role
Report
Task
Component
Plan 
Process
我想在RubyonRails中创建模型,所以请根据rails为我提供关联
谢谢

如果您没有严格遵循任何类型的SDLC,这没关系,但至少在纸上粗略地绘制数据库图表,以便能够了解顺序。必须至少有一个(或多个)顶级模型不属于任何其他模型,例如用户

作为初学者,您应该这样创建scaffold:(假设用户只有first\u name和last\u name列)

下一步(这是您的实际答案):

现在,它将完成它为用户所做的一切,但也会创建关联(即,项目现在将属于用户。您可以在用户自己中添加
has\u many:projects
)。
我希望您能了解流程。

从头开始通读Hey@Mark我通过阅读文档创建了关联。现在我需要为这个应用程序中的每个角色添加脚手架。但是所有的关联都是相互依赖的,我怎么可能认为哪个脚手架应该首先运行,哪个脚手架应该第二次运行,依此类推。如果你正在构建你的第一个应用程序,从基础开始——只需创建一个用户和一个团队模型,并允许一个用户属于一个团队(或拥有多个),以及一个拥有多个用户的团队。然后为用户添加一个角色,然后是项目等。感谢您的帮助,我已经在团队中创建了团队和用户,以及与团队关联的项目。但现在我有了一些关联,我想有脚手架,但由于外键的原因,它们被混淆了,我想从零开始,你可以做
railsdb:drop
,然后删除所有迁移,然后
railsdb:create
,然后开始生成支架。我学到了很多在模型之间建立关联时如何使用支架的基础知识。真正有用的@ARK
rails g migration AddUserToTeam团队:属于
这将生成关联的迁移。迁移文件在运行之前是无害的。我的意思是说,您可以运行
railsgmigration
命令1000次,然后删除它们,除非您执行
rails db:migrate
@Mudassirijaz
rails g migration
操作,否则这并不重要。migration遵循正确的语法,也就是您如何命名它:有正确的约定,如果遵循这些约定,将创建特定的迁移,并减少大量工作。读一读。如果您需要更多说明,请提及我。谢谢@ARK,我想对我现有的有关迁移和关联的知识进行更多说明。比如说,如果我有一个模型组件(有很多:任务)和任务(属于:组件),我如何制作脚手架,哪些应该先运行,并进行适当的阐述?
  rails g scaffold user first_name:string last_name:string
  # This will create a migration, model file, CRUD (basic) views, controller with CRUD actions.
  # Go and edit the migration called [some_number]_create_users.rb if you need to.
  # run rails db:migrate and now you will have table added in schema and database too.
  # Create next entity with associations already created: (let's say it has only 1 column called deadline)
  rails g scaffold project deadline:datetime user:belongs_to