gpt4 book ai didi

ruby-on-rails - 为什么我的外键关联没有产生结果?

转载 作者:行者123 更新时间:2023-11-29 13:02:51 25 4
gpt4 key购买 nike

我的 Rails 应用程序中有两个模型,AppointmentPolicy。我的约会模型 has_many :policies, class_name: "Policy", foreign_key: 'writing_code' 和我的 Policy 模型 belongs_to :appointment。每个表中的 writing_code 列是一个字符串。

虽然看起来已经建立了关联(我的应用程序运行),但 @appointment.policies 没有产生任何结果。有人可以阐明我在这里出错的地方吗?

此外,为了先发制人地回答这个显而易见的问题,我不能简单地使用 appointment_id,因为我将上传具有与每条记录关联的约会(或用户)“编写代码”的策略数据。数据将不包括约会 ID,因为它来自单独的第三方系统。

在此先感谢您的帮助!

编辑:

架构:

create_table "policies", :force => true do |t| 
t.integer "product_id"
t.decimal "premium"
t.string "writing_code"
t.datetime "created_at", :null => false t.datetime "updated_at", :null => false end`

最佳答案

我认为这是你的问题:

你有:

class Appointment 
has_many :policies, class_name: "Policy", foreign_key: 'writing_code'
end

这是 guides says 的内容

“按照惯例,Rails 假定用于保存此模型外键的列是添加了后缀 _id 的关联名称。”

这是指南中的示例:

class Order < ActiveRecord::Base
belongs_to :customer, class_name: "Patron",
foreign_key: "patron_id"
end

在您的例子中,您的class 名称是Policy,但您的foreign_key 名称是writing_code。这不是传统的。

关于ruby-on-rails - 为什么我的外键关联没有产生结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276098/

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