Turbo.remove() не работает, а turbo.update все еще выполняется

я создаю приложение с рельсами 7 и hotwire.

У меня есть div с сообщением-приглашением, когда приглашение отклонено, должны быть запущены 2 действия:

I- Обновите мои флеш-сообщения, чтобы отображать «вы отклонили приглашение» в моем тостере (Работает)II- Удалите div, содержащий приглашение.

У меня нет проблем с моим turbo_stream.update() для моей вспышки, я не получил никаких ошибок. my remove(), но ничего не происходит, сообщение все еще здесь.

Я пытаюсь использовать другие методы, например: replace() с пустым элементом, но все равно не работает.

Я совершенно не понимаю, почему турбо игнорирует эту инструкцию, есть идеи?

Код:

мой взгляд:

      div.mx-auto.company class='w-[860px]'
  - if current_user.pending_mailboxes_invitation.present?
    div.border.border-white.border-2.rounded-lg.p-10 id="invitation"
      p.profile-subtitle = "Vous avez été invité à rejoindre la boîte mail #{current_user.pending_mailboxes_invitation.mailbox.name}"
      p= "Si vous acceptez, la boîte mail sera ajoutée à votre liste et vous la retrouverez dans le projet #{current_user.pending_mailboxes_invitation.mailbox.project.name}"
      div.flex.my-3.gap-5.items-center
        = link_to 'Accepter', confirm_mailboxes_user_url(current_user.pending_mailboxes_invitation), data: { turbo_method: :put }, class: "btn btn-primary-dark"
        = link_to 'Décliner l\'invitation', mailboxes_user_url(current_user.pending_mailboxes_invitation), data: { turbo_method: :delete }
  hr/
# [...]

мой контроллер

        def destroy
    @mailboxes_user.destroy
    flash.now[:success] = t('.success.invitation')

    respond_to do |format|
      format.turbo_stream
    end
  end

мой destroy.turbo_stream.slim

      = turbo_stream.remove('invitation')
= turbo_stream.update('flash', partial: 'shared/flash', locals: {flash: flash} )

Спасибо за ваше время и помощь :)

1 ответ

Я подозреваю, что это связано с тем, что идентификатор «приглашение» не применяется к разделу сообщения. Не могли бы вы попробовать следующий код haml и проверить еще раз. Он должен работать.

      div.border.border-white.border-2.rounded-lg.p-10#invitation
Другие вопросы по тегам