gpt4 book ai didi

ruby-on-rails - 为什么 foreign_key 被忽略了?

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:02 26 4
gpt4 key购买 nike

我有 2 个模型与 has_onehas_many 关联。

realm.rb

class Realm < ActiveRecord::Base
has_one :realm_type, foreign_key: "id"
end

realm_type.rb

class RealmType < ActiveRecord::Base
has_many :realms, foreign_key: "realm_type_id"
end

但是当我在 rails console 中执行 sql 请求 Realm.find(1).realm_type 时,我得到了

Realm Load (0.3ms)  SELECT "realms".* FROM "realms" WHERE "realms"."id" = $1  [["id", 1]]
RealmType Load (0.3ms) SELECT "realm_types".* FROM "realm_types" WHERE "realm_types"."id" = $1 LIMIT 1 [["id", 1]]

如您所见,它忽略 foreign_key: "realm_type_id" for has_many association in realm_type.rb

更新 1:has_many 替换为 belongs_to,仍然得到相同的结果

最佳答案

你不应该使用 belongs_to 吗?

class RealmType < ActiveRecord::Base
has_many :realms, foreign_key: "realm_type_id"
end

class Realm < ActiveRecord::Base
belongs_to :realm_type
end

关于ruby-on-rails - 为什么 foreign_key 被忽略了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714231/

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