Email:包括不工作的belongs_to与foreign_key
-
19-09-2019 - |
题
我有两个模型设立这样的:
class User < ActiveRecord::Base
# external_id column in database
end
class UserUpload < ActiveRecord::Base
belongs_to :user, :primary_key => "external_id", :foreign_key => "external_user_id"
end
然而,只要我做的
upload = UserUpload.find(id, :include => :user)
Sql,获取发出的是一直在寻找ID(和使用零):
select * from users where id in (0,0,0,0 ... 0,0)
我在做的事情是错误的,或者是有一个问题,使用 foreign_keys
在一个 belongs_to
的关系 include
?
解决方案
我刚刚碰到这个同样的问题。还有一个 补丁 这适用于轨2.3.5上 错误#3208 但它还没有被应用到 2-3个稳定 分。
我已经创建了一个 猴子补丁 这个错误,因为它是造成性问题在我的应用程序。的地方 fix_belongs_to_include_with_primary_key.rb 在你 config/inititalizers
目录,并重新启动程序申请。
其他提示
我不知道为什么,但选择 :include
在 named_scope
让 belongs_to
与 foreign_key
工作。
named_scope :my_all, :include => :user
不隶属于 StackOverflow