Ruby on rails 如何在rails中为用户、文本和条目表建模

Ruby on rails 如何在rails中为用户、文本和条目表建模,ruby-on-rails,data-modeling,Ruby On Rails,Data Modeling,其思想是用户创建条目,文本不属于一个用户,而是属于多个条目。当用户创建第一个条目时,会创建一个文本,但它并不严格属于用户。想象10个人每人写一行,一篇10行的文章。如何编写迁移?多谢各位 素描-- 一旦确定了模型之间的关联,迁移就非常容易编写 User has_many :entries has_many :texts, :through :entries Text has_many :entries Entry belongs_to :user belongs_to :text

其思想是用户创建条目,文本不属于一个用户,而是属于多个条目。当用户创建第一个条目时,会创建一个文本,但它并不严格属于用户。想象10个人每人写一行,一篇10行的文章。如何编写迁移?多谢各位

素描--


一旦确定了模型之间的关联,迁移就非常容易编写

User
 has_many :entries
 has_many :texts, :through :entries

Text
 has_many :entries

Entry
 belongs_to :user
 belongs_to :text

条目表将有两列分别用于存储用户id和文本id(用户id和文本id),这样您就可以轻松地为每个模型编写迁移…

匹配上述模型关联的基本迁移将是

create_table :users do |t|
  # User Fields
  t.timestamps
end

create_table :texts do |t|
  # Text Fields
  t.timestamps
end

create_table :entries do |t|
  # Entry Fields
  t.integer :user_id
  t.integer :text_id
  t.timestamps
end

您可能还需要
:entries
表中的其他字段来对文本中的条目进行排序(取决于您的应用程序)。

文本表如何?文本和输入?我该怎么写呢?如果文本是由用户创建的,那么您应该在文本表中添加一行,作为“属于”\u to:user,然后您的文本表将有一列(user\u id)存储用户的id…您是否可以查看我的更新并帮我写迁移?我不清楚文本表是什么样子,或者如果有一个文本表,只有一个条目表?当用户创建一个“新”条目时,它会在条目上设置一个新的文本id?谢谢你的帮助。
create_table :users do |t|
  # User Fields
  t.timestamps
end

create_table :texts do |t|
  # Text Fields
  t.timestamps
end

create_table :entries do |t|
  # Entry Fields
  t.integer :user_id
  t.integer :text_id
  t.timestamps
end