gpt4 book ai didi

ruby-on-rails - 对 ActiveRecord 关联和外键的困惑

转载 作者:太空宇宙 更新时间:2023-11-03 17:53:42 24 4
gpt4 key购买 nike

在下面的示例中,我必须在 Office 模型中创建 employee_id,还是由 db:migrate 自动创建?

class Employee < ActiveRecord::Base
has_one :office
end

class Office < ActiveRecord::Base
belongs_to :employee # foreign key - employee_id
end

感觉我缺少一些基本的东西。我正在尝试建立一个基本的一对多关系,我可以在其中使用从一侧下拉选择的对象。是否有任何好的基本 tuts 解释这是如何工作的?

我必须在我希望它起作用的所有模型中创建 _id,但从我看过的示例来看它似乎不正确。

最佳答案

两个步骤。

首先,您必须在迁移文件的 office 表中创建一个 employee_id 字段。你会有这样的东西:

class CreateOffices < ActiveRecord::Migration
def change
create_table :offices do |t|
t.string :name
t.integer :employee_id

t.timestamps
end
end
end

其次,您必须在模型中定义关联。按照惯例,如果您将 foreign_key 字段命名为 employee_id,则不必在模型中指定它的名称。

class Office < ActiveRecord::Base
belongs_to :employee
end

应该足够了。

关于ruby-on-rails - 对 ActiveRecord 关联和外键的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com