2009-12-09 3 views
2

J'utilise button_to et link_to aides de formulaire dans Rails. J'ai besoin de définir un attribut html basé sur une condition dans le code. Plus précisément, je dois désactiver un composant button_to uniquement si une certaine condition est vraie.Utilisation de conditions dans les aides de formulaire de Rails

Comment puis-je y parvenir? extrait de code ci-dessous.

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => true%> 

Dans l'instruction ci-dessus, je peux avoir besoin de: disabled => true ou je n'en ai pas besoin. Existe-t-il un moyen propre, en plus de dupliquer la ligne de code?

Vive -Priyank

Répondre

7

Vous pouvez remplacer le « vrai » dans les personnes handicapées à la condition (vraiment une expression qui renvoie un booléen) pour obtenir la fonctionnalité dont vous avez besoin. Comme ceci:

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => obj.disabled? %> 

ou

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => x == y %> 

etc.

2

Quelle est la condition qui est vrai ou faux?

S'il est déclenché dans le contrôleur, vous pouvez définir la valeur du bouton désactivé ou écrire un assistant, qui prend la condition comme variable, et imprimer le résultat.

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", @disabled %>

is_disabled? ? @disabled = {:disabled => 'disabled'} : @disabled = false 
+0

J'ai essayé disabled => vrai et faux, mais cela ne fonctionne pas. Quels rails génère est toujours: désactivé => désactivé Donc je ne suis pas sûr si vrai et faux est une option en tant que valeur pour handicapés. – Priyank

+1

l'option: disabled prend la valeur true ou false, mais le code HTML génère 'disabled =' disabled '' ou rien selon la source de convert_boolean_attributes! http://apidock.com/rails/ActionView/Helpers/UrlHelper/convert_boolean_attributes! –

Questions connexes