Question

J'ai deux champs booléens dans mon modèle. Il y a une dépendance selon laquelle une seule peut être vraie à la fois. Sur ma page de vue, je souhaite les afficher sous forme de radio en utilisant Formtastic. Et pas séparément mais en tant que groupe radio. Je sais qu'il y a un chemin Rails, mais je ne peux pas le trouver.

Veuillez aider. Merci d'avance.

Était-ce utile?

La solution

Vous pouvez créer un attribut virtuel pour obtenir et définir la valeur appropriée. Par exemple, si vous aviez un booléen nommé mâle et une femme nommée booléenne, vous pouvez contrôler les deux avec l'attribut de genre comme ceci:

class User
  def gender= gender
    self.male = (gender == 'M')
    self.female = (gender == 'F')
  end

  def gender
    male ? 'M' : 'F'
  end
end

Vous pouvez ensuite avoir un groupe de bouton radio pour sélectionner le sexe:

radio_button_tag :gender, 'M'
radio_button_tag :gender, 'F'

Bien sûr, vous avez toujours la possibilité de combiner les valeurs en un seul attribut à 3 états, comme le sexe qui peut être «M», «F» ou Null.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top