・ Rubis 2.5.7 ・ Rails 5.2.4.3
Tout d'abord, la situation actuelle est la suivante. Terrible,,. Il y a huit noms d'action qui écrivent presque la même chose. Tout d'abord, refactorisons les actions de date1 à date8.
Tout d'abord, si les contenus de traitement des actions de date1 à date8 sont grossièrement classés, date1 est le processus de création d'un nouvel enregistrement. date2 à date7 sont le processus de création d'un nouvel enregistrement + le processus de réception de la colonne passée de la page précédente et de sauvegarde de l'enregistrement. date8 est le processus de réception de la colonne passée de la page précédente et de sauvegarde de l'enregistrement + le processus de sauvegarde d'un autre enregistrement. J'ai donc pensé que la date2 à ce jour7 pouvait être établie.
Dans ce cas, c'est l'existence de cette colonne de page qui l'a empêchée même si je voulais la refactoriser.
Aux dates 2 à 7, seule la valeur de la page a changé et le code était le même que la destination de la redirection était différente dans le traitement ultérieur.
Au lieu d'écrire la valeur de la page par moi-même, j'ai pensé que je devais la coder pour que la valeur soit incrémentée de +1 à chaque fois que la page change.
Pour cela, créez d'abord une variable d'instance avec @conto_page = 1 à date1.
Ensuite, recevez la valeur du côté vue, et passez @conto_page à date2 avec conto_page: @conto_page avec form_with.
Enfin, si les paramètres reçus [: conto_page] .to_i == 8, rediriger pour aller à date8, sinon conto_page augmentera de +1.
J'ai pu effacer en toute sécurité les actions de date3 à date7. Nous avons pu réduire la quantité de code d'environ 40%.
Recommended Posts