Legen Sie Ansichten mit denselben Eingabeinhalten wie Bearbeiten und Neu zusammen fest.
Die folgenden 3 Dateien werden dieses Mal vorbereitet, und bearbeiten und neu haben ein gemeinsames Eingabeformular.
_form.html.erb edit.html.erb new.html.erb
Wenn Sie "form_for (@profile)" in das freigegebene Formular schreiben, erfolgt das Routing automatisch. Darüber hinaus wird die Notation der Schaltfläche "Senden" ebenfalls automatisiert. Wenn sie ins Japanische übersetzt wird, wird sie als "Registrieren" und "Aktualisieren" geschrieben.
_form.html.erb Schreiben Sie ein Formular zum Teilen.
_form.html.erb
<%= form_for(@profile) do |f| %>
<div class="field">
<%= f.label :img %><br />
<%= f.file_field :img %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:img) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:img).first %>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:name) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:name).first %>
<% end %>
</div>
<div class="field">
<%= f.label :age %><br />
<%= f.number_field :age, autofocus: true, autocomplete: "age" %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:age) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:age).first %>
<% end %>
</div>
<div class="field">
<%= f.label :männlich%><%= f.radio_button :sex, :männlich%>
<%= f.label :Weiblich%><%= f.radio_button :sex, :Weiblich%>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:sex) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:sex).first %>
<% end %>
</div>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description, autofocus: true, autocomplete: "description" %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:description) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:description).first %>
<% end %>
</div>
<div class="field">
<%= f.label :qualify %><br />
<%= f.text_area :qualify, autofocus: true, autocomplete: "qualify" %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:qualify) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:qualify).first %>
<% end %>
</div>
<div class="field">
<%= f.label :impression %><br />
<%= f.text_area :impression, autofocus: true, autocomplete: "impression" %>
<%#Der Fehlerinhalt wird unten rot angezeigt%>
<% if @profile.errors.include?(:impression) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:impression).first %>
<% end %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
edit.html.erb
Rufen Sie das von render freigegebene Formular auf und empfangen Sie die Variable vom Controller mit profile: @ profile
.
edit.html.erb
<h1>Profil bearbeiten</h1>
<%= render 'form', profile: @profile %>
new.html.erb Rufen Sie das von render freigegebene Formular auf.
new.html.erb
<h1>Profilregistrierung</h1>
<%= render 'form' %>
Recommended Posts