Rails - Comment valider un champ uniquement si un autre champ a une certaine valeur?

Je suis assez nouveau à Rails et maintenant, je suis tombé sur un problème dont je n'étais pas en mesure de résoudre avec mon ami Google 🙂

Dans mon formulaire, j'ai un Select avec trois valeurs: AppleBanane et Cerise. Si je choisis Apple de l'sélectionnez j'en cacher un autre, Sélectionnez - et un champ Texte avec un peu de Javascript, parce que quand Apple est choisi, il n'est pas nécessaire de remplir ces deux autres champs plus.

Alors maintenant, j'ai un problème avec la validation de mon formulaire quand il est soumis.
J'ai trouvé des problèmes similaires, par exemple dans le cas de
"Seulement de valider un champ si l'autre est vide."

Ce Problème a été résolu comme ceci:

validates_presence_of :mobile_number, :unless => :home_phone?

Donc j'ai juste essayé la première chose qui surgit dans mon esprit:

validates_presence_of :state, :granted_at, :if => :type != 1

Mais quand je le lance, j'obtiens cette erreur:

undefined method `validate' for true:TrueClass

Alors maintenant, je n'ai pas trouver comment je peux accéder aux valeurs de l'objet qui a été créé...
Je vous remercie d'Avance pour votre aide et j'espère que ma question n'est pas aussi évidente qu'il y paraît 🙂

source d'informationauteur TehQuila