Я думаю, что ответ @Ninh Le правильный, (как и ваш!), Возможно, вы можете сначала упростить код своих моделей, чтобы попытаться найти, в чем проблема. Например, я заметил, что вы пропустили 's' в отношении has_many:
class User < ApplicationRecord
has_many :user_violations
has_many :violations, through: :user_violations
end
class UserViolation < ApplicationRecord
belongs_to :user
belongs_to :violation
end
class Violation < ApplicationRecord
# has_many :user_violations
# has_many :violations, through: :user_violations
end
Я думаю, это должно сработать, если это все еще не так, проверьте, есть ли запись, у которой есть нарушение .fatal == true.
Затем добавьте параметры has_many, own_to, если это действительно необходимо.