Периодическая ошибка Rails STI - Неверный тип наследования одной таблицы: HomeLineup не является подклассом HomeLineup - PullRequest
0 голосов
/ 16 января 2020

Я использую STI в моей модельной линейке:

class Lineup < ApplicationRecord
  def self.model_name
    ActiveModel::Name.new(self, nil, "Lineup")
  end
end

, и у меня есть:

class HomeLineup < Lineup

end

и

class AwayLineup < Lineup

end

и

class Match < ApplicationRecord

  include PublicActivity::Common

  has_one :home_lineup
  has_one :away_lineup

end

.

Иногда Я получаю эту ошибку:

ActionView::Template::Error (Invalid single-table inheritance type: HomeLineup is not a subclass of HomeLineup):
    43: 
    44:           <div class="media align-items-center" style="margin: auto;">
    45:             <span class="align-items-center text-center" style="/* font-size:11px; */text-transform:uppercase;margin-right: 30px;display: inline-flex;width: auto;"><%= activity.match.championship.name %></span>
    46:             <span class="mr-2"><%= activity.match.home_lineup.club.acronym %></span>
    47:             <%= link_to activity.match.home_lineup.club, class: "avatar rounded-circle mr-3", style: "background:none !important;width: 20px;" do %>
    48:                 <%= image_tag(url_for_club_badge(activity.match.home_lineup.club)) %>
    49:               <% end %>                   

app/views/public_activity/substitution/_create.html.erb:46:in `_app_views_public_activity_substitution__create_html_erb__1114711258957038838_69831017880240'

Проблема в том, что я не вижу, когда пытаюсь использовать HomeLineup как подкласс HomeLineup.

Всякий раз, когда я получаю сообщение об ошибке, я перезагружаю сервер, и на некоторое время все будет хорошо.

Что может быть причиной этой ошибки?

Моя настройка:

  • ruby 2.6.0p0 (версия 2018-12-25 66547) [x86_64-linux]
  • Rails 5.2.2.1

С уважением, Дэвид

...