web-dev-qa-db-fra.com

Rails champ de texte non modifiable

J'ai un form_for écrit de la manière suivante:

<div class="field">
    <%= location.label :city %>
    <%= location.text_field :city, :disabled=>true%>
</div>
<div class="field">
    <%= location.label :country %>
    <%= location.text_field :country, :disabled=>true%>
</div>

Comme vous pouvez le voir, les 2 champs de texte sont désactivés car ils sont remplis automatiquement par une fonction jquery et je ne veux pas laisser l'utilisateur les gérer. Le problème est que de cette manière, la vue ne transmet pas ces paramètres au contrôleur car ils sont désactivés !!! Existe-t-il un autre moyen de passer un champ de texte non modifiable au contrôleur, en prenant soin de ne pas utiliser de champ masqué car je souhaite afficher les résultats à l'utilisateur dans une zone de texte

TNX

75
Joe

Faites-le en lecture seule!

<%= location.text_field :country,:readonly => true%>
186
krunal shah

L'astuce consiste à utiliser "objet" en conjonction avec une étiquette pour tout ce que vous ne voulez pas changer. Voici comment le coder:

<%= location.label(:country, f.object.country) %>
1
mshasib