В данный момент я пытаюсь запустить метод "soft_delete", который я использовал, когда пользователь удаляет свою учетную запись.Вместо того, чтобы полностью удалить пользователя из базы данных, он перезаписывает его имя пользователя и адрес электронной почты.Тем не менее, я хочу, чтобы метод удалял все посты, сделанные пользователем.
Я пробовал несколько разных способов.Это контроллер на данный момент.
class User < ApplicationRecord
has_many :posts, :dependent => :delete_all
#Method to soft delete and overwrite Username and Email for accounts
def soft_delete
Post.where(:user_id => user.id).delete_all
update_attribute(:name, "DeletedUser")
update_attribute(:email, "DeletedUserEmail#{id}")
update_attribute(:deleted_at, Time.current)
end
end
Но теперь я получаю сообщение об ошибке:
undefined local variable or method `user' for #<User:0x00007fc9a42d48d8> Did you mean? User! User?