Définissez des vues avec le même contenu d'entrée, tel que modifier et créer ensemble.
Les 3 fichiers suivants seront préparés cette fois, et edit et new auront un formulaire d'entrée commun.
_form.html.erb edit.html.erb new.html.erb
Si vous écrivez form_for (@profile)
dans le formulaire partagé, le routage se fera automatiquement.
De plus, la notation du bouton d'envoi est également automatisée, et si elle est traduite en japonais, elle sera écrite comme «register» et «update».
_form.html.erb Rédigez un formulaire à partager.
_form.html.erb
<%= form_for(@profile) do |f| %>
<div class="field">
<%= f.label :img %><br />
<%= f.file_field :img %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% 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" %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% 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" %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% if @profile.errors.include?(:age) %>
<p style="color: red;"><%= @profile.errors.full_messages_for(:age).first %>
<% end %>
</div>
<div class="field">
<%= f.label :Masculin%><%= f.radio_button :sex, :Masculin%>
<%= f.label :Femme%><%= f.radio_button :sex, :Femme%>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% 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" %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% 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" %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% 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" %>
<%#Le contenu de l'erreur est affiché en rouge ci-dessous%>
<% 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
Appelez le formulaire partagé par render et recevez la variable du contrôleur avec profile: @ profile
.
edit.html.erb
<h1>Modifier le profil</h1>
<%= render 'form', profile: @profile %>
new.html.erb Appelez le formulaire partagé par render.
new.html.erb
<h1>Enregistrement de profil</h1>
<%= render 'form' %>
Recommended Posts