0

在构建具有多个模型和它们之间的关系的rails应用程序时,我有一些问题试图理解......

如果我举一个基本的例子,比如模型组、模型用户和模型汽车

class Group < ActiveRecord::Base
   has_many :users
end 
class User < ActiveRecord::Base
  belongs_to :group
  has_many :cars
end 
class Car < ActiveRecord::Base
  belongs_to :user
end

这些关系语句是否会自动创建以下函数:

  • 组用户
  • 用户组
  • 用户.汽车
  • 汽车用户

似乎我们有时需要在迁移中创建“引用”(例如在 Car 表中添加对 User 的引用),但这是否总是必需的?在这种情况下,创建迁移和在模型中添加关系语句有什么区别?我有时会觉得这是出于同样的目的。

非常感谢你的帮助,

问候,

卢克

4

1 回答 1

2

关联声明仅适用于 Rails。您必须在数据库中定义外键(引用),以便 Rails 可以正确保存数据。

请记住,尽管有这么多魔力,但它仍然由关系数据库支持,因此从长远来看,良好的实践将获得回报。

于 2011-03-15T22:27:20.470 回答