Произошла ошибка при ассоциации моего приложения ruby ​​on rails - PullRequest
0 голосов
/ 10 декабря 2018

Вот стек:

неопределенный метод `имя_класса 'для nil: NilClass Вы имели в виду?class_eval

    def redirect_based_on_shift_state
         redirect_to new_shift_call_list_path(created_shifts) if current_user && created_shifts = current_user.shifts.in_state(:created).first
    end

    Class < User
         self.primary_key = 'guid'
         has_many :shifts, foreign_key: 'user_guid', primary_key: 'guid'

    Class < Shift
         belongs_to :user, foreign_key: 'user_guid', primary_key: 'guid

Я уже добавил имя_класса в каждую модель, чтобы явно указать его, хотя я не использую другое имя класса.Надежды, что это решит проблему, однако не сделали.Это происходит после моего обновления ruby ​​с 2.2.1 до 2.5.1 и запуска обновления пакета --conservative.Спасибо за помощь!

введите описание изображения здесь введите описание изображения здесь

1 Ответ

0 голосов
/ 10 декабря 2018

Это может быть связано с приоритетом оператора.Попробуйте переместить присвоение created_shifts в отдельную строку.

def redirect_based_on_shift_state
  return unless current_user
  created_shifts = current_user.shifts.in_state(:created).first
  return unless created_shifts
  redirect_to new_shift_call_list_path(created_shifts)
end

Это также облегчает поиск проблемы в случае, если ошибка все еще возникает.При наличии логики в нескольких строках стек, указывающий на определенную строку, также более точен, поскольку в каждой строке меньше операций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...