ruby-on-rails – belongs_to不使用主键选项
发布时间:2020-12-17 04:20:15 所属栏目:百科 来源:网络整理
导读:我一直在努力解决这个问题,并决定把它扔出去: 我有3个型号,用户,连接,可疑 用户有很多连接, Connection有一个Suspect,通过case_id链接 用户通过其连接有许多嫌疑人. 代码如下: class User ActiveRecord::Base has_many :followers has_many :suspects,:thr
我一直在努力解决这个问题,并决定把它扔出去:
我有3个型号,用户,连接,可疑 用户有很多连接, 用户通过其连接有许多嫌疑人. 代码如下: class User < ActiveRecord::Base has_many :followers has_many :suspects,:through => :followers end class Connection < ActiveRecord::Base belongs_to :user belongs_to :suspect,:primary_key => :case_id,:foreign_key => :case_id end class Suspect < ActiveRecord::Base belongs_to :connection,:foreign_key => :case_id end 问题是belongs_to似乎忽略了:主键. 如果我做 u = User.find(:first) u.suspects 生成的SQL是: SELECT `suspects`.* FROM `suspects` INNER JOIN `connections` ON `suspects`.id = `connections`.case_id WHERE ((`followers`.user_id = 1)) 但它应该是: SELECT `suspects`.* FROM `suspects` INNER JOIN `connections` ON `suspects`.case_id = `connections`.case_id WHERE ((`followers`.user_id = 1)) 有人能指出我正确的方向吗? 詹姆士 解决方法
belongs_to的文档说你可以使用:primary_key选项,但我们从来没有能够使它工作.据说最新版本的rails 2.3.3具体为
fix for this
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |