text_field désactivé dans Ruby on Rails
J'ai le code suivant pour désactiver un text_field
lorsqu'un utilisateur n'est pas un admin et il fonctionne très bien:
<div class="form-group">
<%= f.label :nome, "Genero" %>
<%= f.text_field :nome, class: "form-control", disabled: true if not is_admin? %>
</div>
Mais quand un utilisateur est un administrateur de la text_field
disparaît. Personne ne sait pourquoi ce qui se passe et ce que je dois faire?
source d'informationauteur Vitor Vezani
Vous devez vous connecter pour publier un commentaire.
En supposant que
is_admin?
retournetrue
oufalse
vous pouvez simplement faireActuellement, le si la condition c'est à dire,
if not is_admin?
est appliquée sur l'ensemble du champ de texte, ce qui entraîne dans le champ de texte disparitionis_admin?
retournetrue
et lorsque la condition renvoiefalse
champ de texte s'affiche.La raison que votre code ne fonctionnait pas comme prévu, c'est une priorité de l'opérateur question.
Le plus direct de la solution (mais pas forcément le meilleur) est d'envelopper
true if not is_admin?
entre parenthèses:Autrement, l'ensemble du champ de texte a la
if
appliquée, comme ceci: