Рельсы используют Destroy Soft_destroy, как обновить - PullRequest
0 голосов
/ 11 июля 2019

Простите, Я использую soft_destroy, чтобы удалить мои данные, и затем я хочу исправить данные delete_by, когда я пытаюсь удалить их. Поэтому я использовал before_destroy в модели для обработки. Но, похоже, не имеет никакого эффекта. Как я могу сделать? Пожалуйста, скажите мне. спасибо

Контроллер

def destroy
   @project.soft_destroy
   head :no_content
end

Модель

before_destroy :deleted_by


private

def deleted_by
  self.deleted_by = 101
end

После этих выполнений, selected_by не становится 101.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Вы можете сделать это в контроллере

 before_action :set_project, only: [:show, :edit, :destroy, :update]
 before_action :deleted_by, only: [:destroy]

private
def set_project
  @project = Project.find(params[:id])
end

def deleted_by
  @project.deleted_by = 101
end
0 голосов
/ 11 июля 2019

Попробуйте обратный вызов before_update, поскольку запись фактически не удаляется.

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