【发布时间】:2011-09-08 16:25:18
【问题描述】:
我想了解数据类型 references 以及如何/为什么在网站上使用它的一些示例。如果它们在使用 Ruby-on-Rails 时有所不同,我标记它以防万一。我是编程新手,在layman's terms 中解释所有内容将非常有帮助,因此我可以慢慢建立自己的道路,成为一名计算机专家。
感谢您帮我解决问题,谢谢。
【问题讨论】:
标签: sql ruby-on-rails ruby database
我想了解数据类型 references 以及如何/为什么在网站上使用它的一些示例。如果它们在使用 Ruby-on-Rails 时有所不同,我标记它以防万一。我是编程新手,在layman's terms 中解释所有内容将非常有帮助,因此我可以慢慢建立自己的道路,成为一名计算机专家。
感谢您帮我解决问题,谢谢。
【问题讨论】:
标签: sql ruby-on-rails ruby database
我猜你在迁移中指的是t.references :associated_model?
假设有两个模型,Post 和 Author。
class Post < ActiveRecord::Base
belongs_to :author
end
class Author < ActiveRecord::Base
has_many :posts
end
您的迁移包含:
create_table :posts do |t|
t.references :author
end
这将使用integer 数据类型在posts 表上创建author_id 列。
在迁移中,t.belongs_to 是 t.references 的别名,并且与用于在模型中设置关联的命名相匹配。
【讨论】:
它不是真正的数据类型,它是用于在表中创建foreign key 的 rails 简写,默认为整数。
当您在迁移中调用 t.references :widgets 时,它实际上会创建一个名为 widget_id 的整数列
您可能需要通读Rails Migrations Guide 以了解有关如何在 Rails 中处理数据库和迁移的更多信息。
【讨论】: