我有一些小型 ROR“主要是静态”类型的网站,并且正在研究一些我没有太多经验的更深层次的东西......
大图命名法。帐户有许多用户和项目。用户有很多项目。用户向项目中添加了许多文件和注释....
最后,我需要生成一个视图,用户可以在其中查看他们的项目、文件和注释。在类似于以下手动创建的“概念证明”的列表或表格中:
Project1
Notes
note1
note2
note3
Files
file1
file2
file2
Users
user1
user2
Project2
Notes
note1
note2
note3
Files
file1
file2
file2
Users
user1
user2
上面的列表将使用某种嵌入式 ruby for 循环生成,但在我开始之前,我需要确保我有正确的模型关联和调用。
我试图从我的所有表中都没有外键,但我对多模型最佳实践感到非常困惑。没有外键我想我需要一个连接表,它可以是使用“model1_model2”命名约定的模型?和“:通过”模型关系?
我现在的模型(这已经发生了很大变化)是:
帐户:
class Account < ActiveRecord::Base
has_many :projects
has_many :users
结尾
用户:
class User < ActiveRecord::Base
has_one :account
has_many :projects, :through => :accounts
has_many :dataFiles, :through => :projects
has_many :notes, :through => :projects
结尾
项目:
class Project < ActiveRecord::Base
belongs_to :account
has_many :users
has_many :datafiles
has_many :notes
结尾
数据文件:
class DataFile < ActiveRecord::Base
belongs_to :projects
belongs_to :users
结尾
笔记:
class Note < ActiveRecord::Base
belongs_to :project
belongs_to :users
结尾
如您所见;我在这里很困惑!我做了很多教程并读了一本书;这是我的第一个现实世界应用程序,它不仅仅是主要的静态页面......
似乎有很多方法可以做到这一点。我想我正在寻找一些关于我应该使用哪些模型以及如何连接它们的专家指导。
非常感谢您提供的任何方向或建议。谢谢!