Rails生成has_many关联

时间:2013-12-04 06:54:25

标签: ruby-on-rails ruby ruby-on-rails-4

有没有办法在控制台中使用Rails generate scaffold命令为列生成has_many关联?

我知道belongs_to可用且有references的用例但不确定has_many

1 个答案:

答案 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,并使用外键列进行迁移。