【问题标题】:What is and examples of using data type - References什么是数据类型以及使用数据类型的示例 - 参考资料
【发布时间】:2011-09-08 16:25:18
【问题描述】:

我想了解数据类型 references 以及如何/为什么在网站上使用它的一些示例。如果它们在使用 Ruby-on-Rails 时有所不同,我标记它以防万一。我是编程新手,在layman's terms 中解释所有内容将非常有帮助,因此我可以慢慢建立自己的道路,成为一名计算机专家。

感谢您帮我解决问题,谢谢。

【问题讨论】:

    标签: sql ruby-on-rails ruby database


    【解决方案1】:

    我猜你在迁移中指的是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_tot.references 的别名,并且与用于在模型中设置关联的命名相匹配。

    【讨论】:

    • 你为什么要使用这个?在 Author 模型中使用 t.integer author_id 不是更好吗?似乎只是引用的同一件事就像一个幽灵。
    • 这只是将迁移术语更好地映射到您的 Web 应用程序的糖。对于熟悉 SQL 的人来说,这似乎是一种不必要的抽象。
    【解决方案2】:

    它不是真正的数据类型,它是用于在表中创建foreign key 的 rails 简写,默认为整数。

    当您在迁移中调用 t.references :widgets 时,它实际上会创建一个名为 widget_id 的整数列

    您可能需要通读Rails Migrations Guide 以了解有关如何在 Rails 中处理数据库和迁移的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 2011-01-23
      • 2019-09-24
      • 2010-10-04
      • 2012-05-16
      相关资源
      最近更新 更多