rails模型关系和迁移

时间:2011-03-15 22:24:09

标签: ruby-on-rails ruby-on-rails-3 rails-migrations

在构建具有多个模型和关系的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

这些关系发货语句是否会自动创建以下功能:

  • group.users
  • user.group
  • user.cars
  • car.user

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

非常感谢你的帮助,

此致

吕克

1 个答案:

答案 0 :(得分:2)

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

请记住,尽管有各种魔力,它仍然受到关系数据库的支持,因此从长远来看,那里的良好实践将获得回报。