Ruby on Rails
Helfer bilden
Suche…
Einführung
Rails bietet Ansichtshilfen zum Generieren von Formularmarkierungen.
Bemerkungen
- Die
datetime
einschließlichdate
,date
unddatetime
,datetime-local
undtime
sowiemonth
undweek
funktionieren in FireFox nicht. -
input<type="telephone">
funktioniert nur mit Safari 8. -
input<type="email">
funktioniert nicht in Safari
Erstellen Sie ein Formular
Sie können ein Formular mit dem Helfer form_tag
erstellen
<%= form_tag do %>
Form contents
<% end %>
Dadurch wird folgender HTML-Code erstellt
<form accept-charset="UTF-8" action="/" method="post">
<input name="utf8" type="hidden" value="✓" />
<input name="authenticity_token" type="hidden" value="J7CBxfHalt49OSHp27hblqK20c9PgwJ108nDHX/8Cts=" />
Form contents
</form>
Dieses Formular-Tag hat ein hidden
Eingabefeld erstellt. Dies ist notwendig, da Formulare ohne diese nicht erfolgreich übermittelt werden können.
Das zweite Eingabefeld mit dem Namen " authenticity_token
bietet zusätzlichen Schutz vor cross-site request forgery
.
Suchformular erstellen
Um ein Suchformular zu erstellen, geben Sie den folgenden Code ein
<%= form_tag("/search", method: "get") do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>
-
form_tag
: Dies ist der Standard-Helfer zum Erstellen eines Formulars. Der erste Parameter ist/search
ist die Aktion und der zweite Parameter gibt die HTTP-Methode an. Für Suchformulare ist es wichtig, immer die Methodeget
-
label_tag
: Dieser Helfer erstellt ein html<label>
-Tag. -
text_field_tag
: Dadurch wird ein Eingabeelement mit dem Typtext
-
submit_tag
: Dies erzeugt ein Eingabeelement mit Typsubmit
Helfer für Formularelemente
Ankreuzfelder
<%= check_box_tag(:pet_dog) %>
<%= label_tag(:pet_dog, "I own a dog") %>
<%= check_box_tag(:pet_cat) %>
<%= label_tag(:pet_cat, "I own a cat") %>
Dadurch wird das folgende HTML generiert
<input id="pet_dog" name="pet_dog" type="checkbox" value="1" />
<label for="pet_dog">I own a dog</label>
<input id="pet_cat" name="pet_cat" type="checkbox" value="1" />
<label for="pet_cat">I own a cat</label>
Radio Knöpfe
<%= radio_button_tag(:age, "child") %>
<%= label_tag(:age_child, "I am younger than 18") %>
<%= radio_button_tag(:age, "adult") %>
<%= label_tag(:age_adult, "I'm over 18") %>
Dies erzeugt den folgenden HTML-Code
<input id="age_child" name="age" type="radio" value="child" />
<label for="age_child">I am younger than 18</label>
<input id="age_adult" name="age" type="radio" value="adult" />
<label for="age_adult">I'm over 18</label>
Textbereich
Um ein größeres Textfeld zu erstellen, wird empfohlen, den text_area_tag
<%= text_area_tag(:message, "This is a longer text field", size: "25x6") %>
Dadurch wird der folgende HTML-Code erstellt
<textarea id="message" name="message" cols="25" rows="6">This is a longer text field</textarea>
Zahlenfeld
Dadurch wird ein input<type="number">
<%= number_field :product, :rating %>
Um einen Wertebereich anzugeben, können Sie die Option in:
<%= number_field :product, :rating, in: 1..10 %>
Passwortfeld
Manchmal möchten Sie, dass die vom Benutzer eingegebenen Zeichen maskiert werden. Dadurch wird ein <input type="password">
generiert
<%= password_field_tag(:password) %>
E-Mail-Feld
Dadurch wird eine <input type="email">
<%= email_field(:user, :email) %>
Telefonfeld
Dadurch wird ein <input type="tel">
.
<%= telephone_field :user, :phone %>
Datum Helfer
input[type="date"]
<%= date_field(:user, :reservation) %>
input[type="week"]
<%= week_field(:user, :reservation) %>
input[type="year"]
<%= year_field(:user, :reservation) %>
input[type="time"]
<%= time_field(:user, :check_in) %>
Dropdown-Liste
Standardbeispiel: @models = Model.all select_tag "models", options_from_collection_for_select (@models, "id", "name"), {}
Dadurch wird der folgende HTML-Code generiert: David
Das letzte Argument sind Optionen, die Folgendes akzeptieren: {multiple: false, disabled: false, include_blank: false, Eingabeaufforderung: false}
Weitere Beispiele finden Sie unter: http://apidock.com/rails/ActionView/Helpers/FormTagHelper/select_tag