Ich habe ein form_for wie folgt geschrieben:
<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>
Wie Sie sehen können, sind die 2 Textfelder deaktiviert, da sie von einer Abfragefunktion automatisch ausgefüllt werden und ich nicht möchte, dass der Benutzer damit umgeht. Das Problem ist, dass auf diese Weise die Ansicht diese Parameter nicht an die Steuerung weitergibt, da sie deaktiviert sind !!! Gibt es eine andere Möglichkeit, nicht bearbeitbares Textfeld an den Controller zu übergeben, wobei darauf zu achten ist, dass ich kein verstecktes Feld verwenden möchte, da ich die Ergebnisse dem Benutzer in einem Textfeld anzeigen möchte
TNX
Antworten:
Mach es schreibgeschützt!
quelle
disabled
undread-only
macht deutlich, dass deaktivierte Eingaben nicht mit den Formulardaten übermittelt werden sollten.:disabled => true
ich mein Feld nicht eingereicht habe.Create
Aktion zugänglich ist ?readonly="readonly"
Attribut desinput
Tags entfernen und das Textfeld nach seinen Wünschen bearbeiten. Wenn dies wirklich sicher sein muss, entfernen Sie das Eingabefeld vollständig oder überprüfen Sie die Formulareingabe am Modell. Das war sowieso eine sehr nützliche Antwort.Der Trick besteht darin, "Objekt" in Verbindung mit einer Beschriftung für alles zu verwenden, was Sie nicht ändern möchten. So sollten Sie es codieren:
quelle