Рельсы полиморфные ассоциации ошибка? - PullRequest
0 голосов
/ 13 января 2012

У меня есть следующий код:

class Location < ActiveRecord::Base
  has_many :geolocations, :as => :geotaggable, :dependent => :destroy
end

class Geolocation < ActiveRecord::Base
  belongs_to :geotaggable, :polymorphic => true
end

Когда я делаю: Location.first.geolocations, моя консоль показывает следующий SQL:

  ←[1m←[36mGeolocation Load (2.0ms)←[0m  ←[1mSELECT `geolocations`.* FROM `geolo
cations` WHERE `geolocations`.`geotaggable_id` = 1←[0m

Принимая во внимание, когда я делаю: Location.find(:first, :include => :geolocations), моя консоль показывает этот SQL:

  ←[1m←[36mGeolocation Load (1.0ms)←[0m  ←[1mSELECT `geolocations`.* FROM `geolo
cations` WHERE `geolocations`.`geotaggable_type` = 'Location' AND (((`geolocatio
ns`.`geotaggable_id` = 1)))←[0m

Я проверил свой проект и обнаружил, что всякий раз, когда у меня возникают полиморфные ассоциации, полиморфный тип не включается в запрос SQL.

Это ожидаемое поведение или я что-то упустил?

Я использую рельсы 3.2.0.rc1 и Ruby 1.9.3.Я считаю, что у меня был такой же результат в рельсах 3.0.0.

...