Неопределенный метод 'delete_if' после обновления ruby ​​и rails - PullRequest
0 голосов
/ 03 июля 2019

Я недавно обновил свое приложение с ruby 2.5.1 to 2.6.3 и с rails 5.0.7.2 to 5.2.3

У меня проблема с методом обновления моего пользовательского контроллера.

Я получил undefined method 'delete_if' for #<String:0x00007fac73d38c78> Did you mean? delete delete!

# PATCH/PUT /users/:id
  def update
    if @user.update(user_params)
      redirect_to company_users_path(@user.company), notice: 'User was successfully updated.'
    else
      render :edit
    end
  end

РЕДАКТИРОВАТЬ это моя модель пользователя

class User < ApplicationRecord
  paginates_per 10

  extend Enumerize

  has_many :user_challenges, dependent: :destroy
  has_many :challenges, through: :user_challenges
  has_many :user_events, dependent: :destroy
  has_many :events, through: :user_events
  has_and_belongs_to_many :objectives
  has_one :binome_as_invited, class_name: 'Binome', foreign_key: 'invited_user_id', dependent: :destroy
  has_one :binome_as_inviting, class_name: 'Binome', foreign_key: 'inviting_user_id', dependent: :destroy
  belongs_to :company, optional: true
  has_many :actions, dependent: :destroy

  has_many :hello_messages, foreign_key: 'target_id'
  has_many :custom_challenges, foreign_key: 'target_id'
  has_many :sent_challenges, class_name: 'CustomChallenge', foreign_key: 'author_id'

  has_many :received_challenges, class_name: "CustomChallenge", foreign_key: "target_id"
  has_many :sent_challenges, class_name: "CustomChallenge", foreign_key: "author_id"

  has_many :binome_invitations, foreign_key: "invited_user_id"

  has_many :device_tokens

  delegate :challenges, to: :company, prefix: true

  acts_as_paranoid

  devise :database_authenticatable, :registerable,
  :recoverable, :rememberable, :trackable, :validatable

  include DeviseTokenAuth::Concerns::User

  attr_accessor :secret_code
  validate :company_code, on: :create
  validates :first_name, :last_name, :phone, :age, :ki_count, presence: true

  ROLES = ['admin', 'company_admin', 'user', 'inactive']
  enumerize :role, in: ROLES

  scope :with_avatar, -> { where.not(avatar: 0) }

это может быть акт_ас_параноид? Или возможно драгоценный камень, который я должен обновить? Это определенно, так как я обновляю рельсы, рубины или, возможно, один драгоценный камень.

EDIT2 последний элемент трассировки стека, кажется, связан с драгоценным камнем devise_token_auth

devise_token_auth (1.1.0) app/models/devise_token_auth/concerns/user.rb:218:in `destroy_expired_tokens'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...