【发布时间】:2014-06-18 02:18:51
【问题描述】:
我的 rails 应用程序中有两个模型,Appointment 和 Policy。我的约会模型has_many :policies, class_name: "Policy", foreign_key: 'writing_code' 和我的策略模型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`
【问题讨论】:
-
yields no results是什么意思?你收到nil错误吗?您是否已将policy_id添加到appointments表中? -
我没有收到任何错误.. 结果是 []。为什么我通过
writing_code列关联时需要在此处添加policy_id? -
所以
writing_code是外键。我忽略了这一点。你得到的是一个空数组。你认为它不应该是空的吗?在控制台中尝试。验证您是否真的应该有关联的约会和政策对象 -
我在控制台中也得到了一个空数组:(
-
看看日志中生成的sql。然后获取该 sql 字符串并在您的数据库控制台中尝试它。它也不会在那里返回任何结果,但您也许可以调试该问题。它可能与数据相关,更容易查看。
标签: ruby-on-rails ruby-on-rails-3 postgresql