Я испытываю странное поведение во время загрузки связанных записей. Я указал необходимые отношения в «include», и весь материал загружается четырьмя запросами. Но когда я перебираю выбранные записи, Rails начинает выдавать запрос для каждого связанного объекта, чаще всего попадая в кеш. Я не смог воспроизвести эту проблему в тестовом приложении с подобной настройкой. Вот соответствующие части кода:
class Side < ActiveRecord::Base
belongs_to :photo
belongs_to :board
end
class Board < ActiveRecord::Base
belongs_to :address
has_many :sides
end
class Photo < ActiveRecord::Base
has_many :sides
end
class Address < ActiveRecord::Base
belongs_to :city
has_many :boards
end
class City < ActiveRecord::Base
has_many :addresses
end
q = Side.includes({:board => :address}, :photo).joins({:board => :address}, :projects).limit(50)
q.each {|s| s.photo}
Соединения для предикатов, которые будут добавлены позже.