class User < ApplicationRecord
has_many :buckets, -> { order(ranked_row: :asc) }
delegate :incomes, :fixed_costs, :financial_goals, to: :buckets
...
end
У меня есть ведра, которые STI'd. Если добавить эту область к has_many, моя страница берет навсегда на 9 записей, и, кажется, нагружать то, что должно быть кэшированныеhas_many с областью супер медленный с STI
Если удалить сферу, все хорошо
Любая идея, как область действия has_many влияет на STI? У ranked_row есть индекс, но он тот же, независимо. Я использую active_model_serializers, но я не уверен, есть ли корреляция.
Update
Определенно что-то с active_model_serializers. ActiveModel::SerializableResource.new(user)
находится в контроллере, а также пугает в консоли. Я удалил все, начиная с сериализатора, и назвал область видимости has_many. Я попаду в github.
Код
https://gist.github.com/dudo/f25767f00c874842a005
Это самый маленький кусочек кода, который я мог бы получить, чтобы вызвать проблему. Опять же, он отлично работает без области действия has_many, а также работает с удалением метода percent_complete
из Bucket ... этот метод не выглядит слишком противным. Что может быть в том методе included_transactions
, который приводит его к обходу при наличии области видимости?
Изменение поведения при удалении делегации? я попытаюсь создать минимальный набор, чтобы воспроизвести это и сообщить об ошибке http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#create-an-executable-test-case – phoet
не отображается. Я сменил их на индивидуальное has_many, то же самое. – Dudo
Я думаю, проблема может быть в моделях/bucket.rb. Источник, или этого не произошло. – gizmore