[RUBY] Mauvaise configuration d'énumération. Pour une raison quelconque, je ne peux pas obtenir de données de la colonne spécifiée par Enum ...

Arrière-plan de l'occurrence </ font>

  • Enregistrer sous forme de mémorandum (c'est dommage en terme de matériel ...) Les données ne peuvent pas être récupérées lorsque Enum est défini dans le modèle suivant.

table.rb


class ColorManage < ApplicationRecord
  enum color_type: { single: 0, double: 1, graphic: 2 }
(réduction)

(Prémisse) Lorsque vous appuyez sur le bouton radio appelé single, 0 est entré.

erb:color-edit.html.erb


  <!--Type de couleur, quel paramètre utiliser.-->
  <%= color_manage_record.radio_button :color_type, :single ,class:"color-form__button" %>
  <%= color_manage_record.label :color_type, "single-color", {class: "color-form__tag"} %>

Problème> Comme indiqué dans l'image, color_type est entré comme "zéro", mais lorsque j'essaye d'extraire le modèle et d'obtenir la valeur de la colonne, il retourne comme nul </ font>

image.png

environnement </ font>

article Contenu
OS.Catalina v10.15.4
Ruby v2.5.1
Ruby On Rails v5.2.4.3
MySQL V5.6

Procédure de correspondance </ font>

Cause) La définition de la table était une chaîne, j'ai donc redéfini enum comme suit. C'est un portfolio, j'ai donc honte de changer le côté design.

test.rb


  enum color_type: { single: "single", double: "double", graphic: "graphic" }

Cela l'a résolu.

c'est tout.