Comment définir un champ en lecture seule dans les vues 3.1.0 rails?
Ma question est de savoir comment définir un champ dans les rails formulaire en lecture seule. Ce qui suit est une sélection de la boîte à citations contrôleur. Les utilisateurs ne sont pas autorisés à modifier la sélection.
<% @quote.test_items.each do |t| %>
<%= f.association :test_items, :label => false, :selected => t.id %>
<% end %>
L'application utilise simple_form. Merci beaucoup.
source d'informationauteur user938363
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré un problème similaire, heureusement, il y a une simple résolution.
La question fondamentale est que si vous utilisez
:disabled => true
avec simple_form vous ne verrez pas la valeur de retour dans le contrôleur. Lorsque vous transmettez un objet de formulaire HTML à plus tard le lier au modèle - vous besoin de toutes ces attributs. Le:disabled => true
cependant, ne passez pas d'un tel attribut.La solution pour cela est d'utiliser
:readonly => true
- il permettra de protéger le champ de saisie par l'utilisateur et il faudra encore passer le paramètre de la valeur vers le contrôleur de sorte que vous pouvez lier tout à votre modèle.Bonne chance.
Voir https://github.com/plataformatec/simple_form/pull/367
Je crois que tu venais de passer dans
:disabled => true
. Il a été mon expérience que les options "juste travailler" avec simple_form. Donc dans votre cas:De la simple_form dépôt github:
Il est également possible de donner à l' :option désactivée pour SimpleForm, et il va marquer automatiquement le wrapper comme handicapés, avec une classe css, de sorte que vous pouvez le style des étiquettes, des notes et d'autres composants à l'intérieur de l'emballage.
Les principales réponses ci-dessus sont tous faux.
désactivé attribut a un comportement différent qu'en lecture seule.
lire et de les comparer:
http://www.w3schools.com/tags/att_input_disabled.asp
Astuce: Désactivé les éléments dans un formulaire ne sera pas soumis.
http://www.w3schools.com/tags/att_input_readonly.asp
Le droit de réponse est d'utiliser
quelque chose comme ceci:
Il n'est pas clair pour moi si l'association de la méthode accepte les options HTML ou pas, mais si c'est le cas, vous pouvez passer
disabled: 'disable'
de lecture-seule avec une valeur fixe.Je pense que vous pourriez être en mesure de choisir la valeur fixée par le passage de l'association en tant que bloc, comme illustré dans l'association docs:
Quant à savoir si ou non l'ensemble de la liste peut être en lecture seule et encore déroulante, les seules solutions que je vois à partir de google impliquer JS, par exemple:
http://techeyes.blogspot.com/2007/11/making-html-select-readonly.html
Oui, ce que @gk0r dit, comme il est documenté ici:
REMARQUE: Le
HTML
optionsdisabled
readonly
etmultiple
peuvent tous être traités comme des booléens. Donc, précisant:disabled => true
donneradisabled="disabled"
.*handicapés ont un comportement légèrement différent qu'en lecture seule.