неопределенный метод `expr 'для nil: NilClass после обновления до rails 5.2 - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть две следующие модели

    class Machine < ApplicationRecord
      has_many :machine_part_changes
        has_one :current_identifier_part_change, -> {
        sql = <<-SQL
          INNER JOIN "machine_parts"
          ON "machine_parts"."id" = "machine_part_changes"."machine_part_id"
          AND "machine_parts"."is_machine_external_identifier" = 1
        SQL
        installed.joins(sql)
        },
        class_name: 'MachinePartChange'
    end

    class MachinePartChange < ApplicationRecord
      belongs_to :machine_part
      belongs_to :machine, touch: true
    end

в рельсах 4.2 мне удалось сделать как

Machine.eager_load(:current_identifier_part_change).first

но теперь, после обновления до rails 5.2, я получаю следующую ошибку при запуске тестов.

    Failure/Error: machine = Machine.eager_load(:current_identifier_part_change).find(create_machine.id)

 NoMethodError:
   undefined method `expr' for nil:NilClass

Я не очень разбираюсь в sql :-( и код написан другим разработчиком, что я могу сделать, чтобы пройти этот тест.

...