有没有办法在控制台中使用Rails generate scaffold
命令为列生成has_many关联?
我知道belongs_to
可用且有references
的用例但不确定has_many
答案 0 :(得分:70)
has_many
关系没有列。 belongs_to
由包含外键的列支持。
因此,如果您生成脚手架:rails g scaffold Post
然后你生成另一个脚手架:rails g scaffold Comment post:references
然后rails将创建一个迁移,将名为post_id
的列添加到Comment表并在其上创建索引。对于这两个表,它会在comments(post_id)
和posts(id)
之间创建外键约束。 Rails还会在Comment模型中添加belongs_to :post
。
您可以随时向模型添加has_many
,只要第一个模型使用另一个模型belongs_to
,并使用外键列进行迁移。