[JAVA] [Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Edit Form Edition"

Cible

ezgif.com-video-to-gif.gif

Environnement de développement

・ Rubis: 2.5.7 Rails: 5.2.4 ・ Vagrant: 2.2.7 -VirtualBox: 6.1 ・ Système d'exploitation: macOS Catalina

supposition

Ce qui suit a été mis en œuvre.

Présentation minceIntroduction de Bootstrap 3Introduction de Font Awesome

la mise en oeuvre

1. Modifiez le contrôleur

books_controller.rb


def edit
  unless @book.user == current_user
    redirect_to books_path
  end
  @category_parent_array = Category.category_parent_array_create
end

def update
  if @book.update(book_params)
    book_categories = BookCategory.where(book_id: @book.id)
    book_categories.destroy_all
    BookCategory.maltilevel_category_create(
      @book,
      params[:parent_id],
      params[:children_id],
      params[:grandchildren_id]
    )
    redirect_to @book
  else
    @category_parent_array = Category.category_parent_array_create
    render 'edit'
  end
end

[Explication]

(1) Extraire tous les enregistrements correspondant au livre à éditer du tableau intermédiaire et les supprimer.

book_categories = BookCategory.where(book_id: @book.id)
book_categories.destroy_all

2. Modifiez la vue

slim:books/edit.html.slim


/Postscript
.category-form
  = label_tag 'Genre'
  = select_tag 'parent_id', options_for_select(@category_parent_array), class: 'form-control', id: 'parent-category'
  i.fas.fa-chevron-down
br

Mise en garde

Si vous ne désactivez pas turbolinks, la boîte de sélection ne fonctionnera pas de manière asynchrone, alors assurez-vous de la désactiver.

Comment désactiver les turbolinks

Suite

Implémentation de la fonction de catégorie multicouche (j'ai essayé de créer une fenêtre avec Bootstrape)

Recommended Posts

[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Edit Form Edition"
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "Formulaire de création"
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Préparation"
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "seed edition"
[Rails] Implémentation de la fonction de catégorie
[Rails] Implémentation de la fonction de catégorie d'ascendance gemme
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "J'ai essayé de créer une fenêtre avec Bootstrap 3"
[Rails] Implémentation de la fonction de recherche en utilisant le ransack de gem
[Rails] Implémentation de la fonction d'agrandissement d'image à l'aide de lightbox2
Mise en œuvre de la fonction déroulante de catégorie
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation asynchrone de la fonction similaire
[Rails] Implémentation de la fonction de prévisualisation d'image
[Rails] À propos de la mise en œuvre de la fonction similaire
[Rails] Implémentation de la fonction de retrait utilisateur
[Rails] Implémentation de la fonction d'exportation CSV
[Rails] Implémentation de fonctions de catégorie plusieurs à plusieurs
[Rails] Implémentation de la fonction coupon (avec fonction de suppression automatique par traitement par lots)
[Rails] Implémentation de la fonction de balise à l'aide de la fonction agit-as-taggable-on et de la fonction de complétion d'entrée de balise à l'aide de tag-it
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (2)
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (1)
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (3)
[Ruby on rails] Implémentation d'une fonction similaire
[Rails] Fonction de catégorie
[Rails] Je vais expliquer la procédure d'implémentation de la fonction follow en utilisant form_with.
Mise en œuvre du formulaire de sélection de catégorie en utilisant JS dans la création d'applications frima
Implémentation de la fonction de connexion Ruby on Rails (Session)
Mettre en œuvre la fonction de catégorie de produit en utilisant l'ascendance ① (Préparation)
[Rails] Mise en œuvre du classement des nombres PV à l'aide de l'impressionniste
[Rails] Implémentation du diaporama d'images à l'aide de Bootstrap 3
[Rails / appareil] Implémentation de la fonction d'édition des informations de compte / Procédure de changement de destination de la redirection
Implémentation de la fonction de recherche
Mise en œuvre de la fonction de pagénation
[Rails] Implémentation de la fonction glisser-déposer (avec effet)
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
Implémentation de la suppression d'ajax dans Rails
Implémentation de la fonction de recherche floue Rails
Fonction de recherche à l'aide de [rails] ransack
[Rails] Implémentation de la saisie d'adresse automatique avec jpostal et jp_prefecture
Implémentation de la fonction de recherche séquentielle
Implémentation d'une fonction similaire (Ajax)
Implémentation de la fonction de prévisualisation d'image
Mise en place de la fonction de tri des rails (affichés par ordre de nombre de like)
Implémenter la fonction de catégorie en utilisant l'ancêtre