ActivereCord : fortome_key를 사용하여 Foods_to에서 작동하지 않습니다
-
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를 찾고 있습니다 (및 Zeros 사용).
select * from users where id in (0,0,0,0 ... 0,0)
내가 뭔가 잘못하고 있거나 사용하는 데 문제가 있습니까? foreign_keys
안에 belongs_to
과의 관계 include
?
해결책
나는 방금이 같은 문제에 부딪쳤다. 거기에 반점 Rails 2.3.5 on에 적용됩니다 버그 #3208 그러나 그것은 적용되지 않았습니다 2-3 안정 아직 지점.
나는 a 원숭이 패치 이 버그의 경우 내 앱에서 성능 문제가 발생합니다. 장소 fix_belongs_to_include_with_primary_key.rb 당신의 config/inititalizers
디렉토리 및 앱을 다시 시작하여 적용하십시오.
다른 팁
왜 그런지 모르겠지만 옵션 :include
안에 named_scope
만든다 belongs_to
~와 함께 foreign_key
일하고 있는.
named_scope :my_all, :include => :user
제휴하지 않습니다 StackOverflow