0
votes

Comment puis-je modifier_column_default en fonction de la valeur sélectionnée d'une autre ligne dans un rubis sur les rails migration?

Désolé, y'all. Nouveau à rubis sur rails. Je mettais à jour un formulaire de profil composé des questions suivantes Oui / Non: Entrez la description de l'image ici

La table d'utilisateurs a déjà une colonne existante enfants_under_five , mais j'aimerais ajouter une colonne has_children pour incorporer s'ils ont des enfants du tout. Le seul nouveau champ sera has_children qui, dans l'événement, quelqu'un a un enfant de moins de 5 ans, cela signifie qu'ils ont un enfant, donc has_children devrait être vrai pour ces personnes, sinon Il devrait par défaut à faux . Comment puis-je mettre en œuvre cela dans la migration elle-même? C'est tout ce que j'ai jusqu'à présent: xxx


0 commentaires

3 Réponses :


-1
votes

Je ne comprends pas tout à fait votre question mais la question est la question? Comment ajouter une colonne avec migration? Eh bien: Rails G Migration add_has_children_to_uSers has_HAS_CHILDREN_TO_USERS HAS_CHILDREN: BOOLEAN RAILS DB: Migrer


0 commentaires

2
votes

Ajouter une instruction de mise à jour soit dans cette migration, soit une autre ...

 def change
   query = <<-SQL
     update users
     set has_children = children_under_five
   SQL

   execute query
 end


0 commentaires

0
votes

Que diriez-vous d'utiliser une méthode ici? XXX PRE>

et vous pouvez l'utiliser comme P>

>> user = User.first
   user.has_children? # returns true or false


0 commentaires