【发布时间】:2025-12-02 18:55:02
【问题描述】:
我有 2 个具有 has_one 和 has_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]]
如您所见,它忽略了 realm_type.rb
中has_many 关联的 foreign_key: "realm_type_id"
UPD 1:
将has_many替换为belongs_to,还是一样的结果
【问题讨论】:
标签: ruby-on-rails ruby associations models