Railsアプリに2つのモデルがあり、1つはUUID主キーを使用しています。
class User < ActiveRecord::Base
belongs_to :country, :foreign_key => 'country_uuid'
end
class Country < ActiveRecord::Base
set_primary_key :uuid
has_many :users
end
私がそのようなことを試みるとき:
<% @user = User.find :first, :include => [:country] %>
<%= @user.country.name %>
良い結果が得られましたが、ログファイルに2つのリクエストがあります。UUIDキーのIDキーを変更すると、遅延読み込みが機能しないのはなぜですか?
User Load (0.4ms) SELECT `users`.* FROM `users` LIMIT 1
Country Load (0.4ms) SELECT `countries`.* FROM `countries` WHERE (`countries`.`uuid` = '1')
そして、私は次のようなものを持っているでしょう:
User Load (0.4ms) SELECT `users`.* FROM `users` INNER JOIN countries ON countries.uuid = users.country_uuid LIMIT 1
回避策はありますか?IDキーのuuidキーを変更しても、uuidを格納するために文字列形式を維持した場合、問題はありませんか?
ありがとう、