1

假设我有模型人物和模型书。一个人有很多书。我在 Person 的模型中有一本 has_many 书籍,在 Book 的模型中有一份 belongs_to。当我生成这些脚手架时,数据库中没有外键。我是否必须始终使用约定(例如 book_id)手动创建迁移?为什么rails不链接数据库上的东西?我没有弄清楚 Rails 是如何将所有东西结合在一起的。

4

3 回答 3

4

或者有什么相同之处:

rails g scaffold book name:string person:references

这将在 book 表中创建一个 person_id 字段。

于 2013-04-30T04:56:54.040 回答
1

rails 没有理由对此做出任何假设。您可以使用脚手架创建外键,或者在运行之前自行修复迁移。

rails generate scaffold book name:string person_id:integer
于 2013-04-30T04:48:25.923 回答
1

如果要强制执行数据库外键,则必须使用像foreigner这样的 gem

于 2013-04-30T04:57:07.487 回答